Saving an Issue

The name of the pictureThe name of the pictureThe name of the pictureClash 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;







share|improve this question



























    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;







    share|improve this question























      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;







      share|improve this question













      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;









      share|improve this question












      share|improve this question




      share|improve this question








      edited Jan 29 at 13:00









      Nkosi

      1,870619




      1,870619









      asked Jan 29 at 12:21









      J.Dhaik

      628




      628

























          active

          oldest

          votes











          Your Answer




          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "196"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );








           

          draft saved


          draft discarded


















          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



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes










           

          draft saved


          draft discarded


























           


          draft saved


          draft discarded














          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













































































          Popular posts from this blog

          Python Lists

          Aion

          JavaScript Array Iteration Methods