Saving an Issue

Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;
up vote
0
down vote
favorite
What do you think about my saving method? I'm saving an issue with GPS location and e.t.c, and then uploads it to a server.
public Task<bool> SaveIssue(UIIssueVM uiIssue)
return Task.Run(async () =>
try
uiIssue.bNeedSync = true;
var wifi = Plugin.Connectivity.Abstractions.ConnectionType.WiFi;
var connectionTypes = CrossConnectivity.Current.ConnectionTypes;
if (connectionTypes.Contains(wifi))
//Save Issue to cache..
UserDialogs.Instance.ShowLoading("Saving...", maskType: MaskType.Clear);
if (uiIssue.IsNew)
App.Client.AddIssue(uiIssue);
else
App.Client.UpdateIssue(uiIssue);
UserDialogs.Instance.HideLoading();
uiIssue.bNeedSync = false;
else
if (CrossConnectivity.Current.IsConnected)
await App.Client.AddIssueLocal(uiIssue);
return false;
return true;
catch (Exception ex)
LastErrorText = ex.Message;
return false;
);
public ViewModels.Issue.NewIssueVM CreateNewIssueVM()
ViewModels.Issue.NewIssueVM issue = new ViewModels.Issue.NewIssueVM();
issue.LocationId = LocationId;
issue.Title = Title;
issue.Description = Description;
issue.Longitude = Longitude;
issue.Latitude = Latitude;
issue.Status = Status;
issue.Severity = Severity;
return issue;
public void AddIssue(UIIssueVM uiIssue)
if (uiIssue.LocationId == 0)
uiIssue.LocationId = state.LocationID;
NewIssueVM issue = uiIssue.CreateNewIssueVM();
int IssueID = apiClient.CreateIssue(issue);
if (IssueID > 0)
uiIssue.Id = IssueID;
if (uiIssue.IsNew == true)
uiIssue.IsNew = false;
public int CreateIssue( NewIssueVM vm )
return CreateResource( "api/Issue/v1/CreateIssue", vm );
private int CreateResource<T>( string action, T vm )
var response = PerformRequest( HttpVerb.Post, action, vm );
var content = ParseContent<ReturnID>( response );
return content.Id;
private void UpdateResource<T>( string action, T vm )
PerformRequest( HttpVerb.Put, action, vm );
private T GetResource<T>( string action )
var response = PerformRequest( HttpVerb.Get, action );
var resource = ParseContent<T>( response );
return resource;
public class NewIssueVM
public int LocationId get; set;
public string Title get; set;
public string Description get; set;
public double Longitude get; set;
public double Latitude get; set;
public IssueStatus Status get; set;
public IssueSeverity Severity get; set;
c# xamarin
add a comment |Â
up vote
0
down vote
favorite
What do you think about my saving method? I'm saving an issue with GPS location and e.t.c, and then uploads it to a server.
public Task<bool> SaveIssue(UIIssueVM uiIssue)
return Task.Run(async () =>
try
uiIssue.bNeedSync = true;
var wifi = Plugin.Connectivity.Abstractions.ConnectionType.WiFi;
var connectionTypes = CrossConnectivity.Current.ConnectionTypes;
if (connectionTypes.Contains(wifi))
//Save Issue to cache..
UserDialogs.Instance.ShowLoading("Saving...", maskType: MaskType.Clear);
if (uiIssue.IsNew)
App.Client.AddIssue(uiIssue);
else
App.Client.UpdateIssue(uiIssue);
UserDialogs.Instance.HideLoading();
uiIssue.bNeedSync = false;
else
if (CrossConnectivity.Current.IsConnected)
await App.Client.AddIssueLocal(uiIssue);
return false;
return true;
catch (Exception ex)
LastErrorText = ex.Message;
return false;
);
public ViewModels.Issue.NewIssueVM CreateNewIssueVM()
ViewModels.Issue.NewIssueVM issue = new ViewModels.Issue.NewIssueVM();
issue.LocationId = LocationId;
issue.Title = Title;
issue.Description = Description;
issue.Longitude = Longitude;
issue.Latitude = Latitude;
issue.Status = Status;
issue.Severity = Severity;
return issue;
public void AddIssue(UIIssueVM uiIssue)
if (uiIssue.LocationId == 0)
uiIssue.LocationId = state.LocationID;
NewIssueVM issue = uiIssue.CreateNewIssueVM();
int IssueID = apiClient.CreateIssue(issue);
if (IssueID > 0)
uiIssue.Id = IssueID;
if (uiIssue.IsNew == true)
uiIssue.IsNew = false;
public int CreateIssue( NewIssueVM vm )
return CreateResource( "api/Issue/v1/CreateIssue", vm );
private int CreateResource<T>( string action, T vm )
var response = PerformRequest( HttpVerb.Post, action, vm );
var content = ParseContent<ReturnID>( response );
return content.Id;
private void UpdateResource<T>( string action, T vm )
PerformRequest( HttpVerb.Put, action, vm );
private T GetResource<T>( string action )
var response = PerformRequest( HttpVerb.Get, action );
var resource = ParseContent<T>( response );
return resource;
public class NewIssueVM
public int LocationId get; set;
public string Title get; set;
public string Description get; set;
public double Longitude get; set;
public double Latitude get; set;
public IssueStatus Status get; set;
public IssueSeverity Severity get; set;
c# xamarin
add a comment |Â
up vote
0
down vote
favorite
up vote
0
down vote
favorite
What do you think about my saving method? I'm saving an issue with GPS location and e.t.c, and then uploads it to a server.
public Task<bool> SaveIssue(UIIssueVM uiIssue)
return Task.Run(async () =>
try
uiIssue.bNeedSync = true;
var wifi = Plugin.Connectivity.Abstractions.ConnectionType.WiFi;
var connectionTypes = CrossConnectivity.Current.ConnectionTypes;
if (connectionTypes.Contains(wifi))
//Save Issue to cache..
UserDialogs.Instance.ShowLoading("Saving...", maskType: MaskType.Clear);
if (uiIssue.IsNew)
App.Client.AddIssue(uiIssue);
else
App.Client.UpdateIssue(uiIssue);
UserDialogs.Instance.HideLoading();
uiIssue.bNeedSync = false;
else
if (CrossConnectivity.Current.IsConnected)
await App.Client.AddIssueLocal(uiIssue);
return false;
return true;
catch (Exception ex)
LastErrorText = ex.Message;
return false;
);
public ViewModels.Issue.NewIssueVM CreateNewIssueVM()
ViewModels.Issue.NewIssueVM issue = new ViewModels.Issue.NewIssueVM();
issue.LocationId = LocationId;
issue.Title = Title;
issue.Description = Description;
issue.Longitude = Longitude;
issue.Latitude = Latitude;
issue.Status = Status;
issue.Severity = Severity;
return issue;
public void AddIssue(UIIssueVM uiIssue)
if (uiIssue.LocationId == 0)
uiIssue.LocationId = state.LocationID;
NewIssueVM issue = uiIssue.CreateNewIssueVM();
int IssueID = apiClient.CreateIssue(issue);
if (IssueID > 0)
uiIssue.Id = IssueID;
if (uiIssue.IsNew == true)
uiIssue.IsNew = false;
public int CreateIssue( NewIssueVM vm )
return CreateResource( "api/Issue/v1/CreateIssue", vm );
private int CreateResource<T>( string action, T vm )
var response = PerformRequest( HttpVerb.Post, action, vm );
var content = ParseContent<ReturnID>( response );
return content.Id;
private void UpdateResource<T>( string action, T vm )
PerformRequest( HttpVerb.Put, action, vm );
private T GetResource<T>( string action )
var response = PerformRequest( HttpVerb.Get, action );
var resource = ParseContent<T>( response );
return resource;
public class NewIssueVM
public int LocationId get; set;
public string Title get; set;
public string Description get; set;
public double Longitude get; set;
public double Latitude get; set;
public IssueStatus Status get; set;
public IssueSeverity Severity get; set;
c# xamarin
What do you think about my saving method? I'm saving an issue with GPS location and e.t.c, and then uploads it to a server.
public Task<bool> SaveIssue(UIIssueVM uiIssue)
return Task.Run(async () =>
try
uiIssue.bNeedSync = true;
var wifi = Plugin.Connectivity.Abstractions.ConnectionType.WiFi;
var connectionTypes = CrossConnectivity.Current.ConnectionTypes;
if (connectionTypes.Contains(wifi))
//Save Issue to cache..
UserDialogs.Instance.ShowLoading("Saving...", maskType: MaskType.Clear);
if (uiIssue.IsNew)
App.Client.AddIssue(uiIssue);
else
App.Client.UpdateIssue(uiIssue);
UserDialogs.Instance.HideLoading();
uiIssue.bNeedSync = false;
else
if (CrossConnectivity.Current.IsConnected)
await App.Client.AddIssueLocal(uiIssue);
return false;
return true;
catch (Exception ex)
LastErrorText = ex.Message;
return false;
);
public ViewModels.Issue.NewIssueVM CreateNewIssueVM()
ViewModels.Issue.NewIssueVM issue = new ViewModels.Issue.NewIssueVM();
issue.LocationId = LocationId;
issue.Title = Title;
issue.Description = Description;
issue.Longitude = Longitude;
issue.Latitude = Latitude;
issue.Status = Status;
issue.Severity = Severity;
return issue;
public void AddIssue(UIIssueVM uiIssue)
if (uiIssue.LocationId == 0)
uiIssue.LocationId = state.LocationID;
NewIssueVM issue = uiIssue.CreateNewIssueVM();
int IssueID = apiClient.CreateIssue(issue);
if (IssueID > 0)
uiIssue.Id = IssueID;
if (uiIssue.IsNew == true)
uiIssue.IsNew = false;
public int CreateIssue( NewIssueVM vm )
return CreateResource( "api/Issue/v1/CreateIssue", vm );
private int CreateResource<T>( string action, T vm )
var response = PerformRequest( HttpVerb.Post, action, vm );
var content = ParseContent<ReturnID>( response );
return content.Id;
private void UpdateResource<T>( string action, T vm )
PerformRequest( HttpVerb.Put, action, vm );
private T GetResource<T>( string action )
var response = PerformRequest( HttpVerb.Get, action );
var resource = ParseContent<T>( response );
return resource;
public class NewIssueVM
public int LocationId get; set;
public string Title get; set;
public string Description get; set;
public double Longitude get; set;
public double Latitude get; set;
public IssueStatus Status get; set;
public IssueSeverity Severity get; set;
c# xamarin
edited Jan 29 at 13:00
Nkosi
1,870619
1,870619
asked Jan 29 at 12:21
J.Dhaik
628
628
add a comment |Â
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Â
draft saved
draft discarded
Â
draft saved
draft discarded
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f186251%2fsaving-an-issue%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password