コード例 #1
0
        public NotesCreatorViewModel(INavigationService _navigation,
                                     IDatabase _database, ILogging _logging,
                                     INotesManager notesManager,
                                     IDialogue _dialogue,
                                     ILoader loader
                                     ) : base(_navigation, _database, _logging, _dialogue)
        {
            //Managers
            _notesManager = notesManager;

            //Services
            _loader = loader;

            IConfirm = new RelayExtension(Confirm, CanConfirm);
            IGoBack  = new RelayExtension(GoBack, CanGoBack);

            Title = "Add a Note";

            //Bind the Editable data to the views
            if (!string.IsNullOrWhiteSpace(Constants.Note_ID))
            {
                var note = _notesManager.Get_NoteByID <Notes>(Constants.Note_ID);
                if (note != null)
                {
                    Subject = note.Subject;
                    Note    = note.Description;
                }
            }
        }
コード例 #2
0
        public void Confirm()
        {
            try
            {
                if (string.IsNullOrWhiteSpace(Note))
                {
                    throw new ArgumentNullException("Note cannot be empty");
                }

                if (!string.IsNullOrWhiteSpace(Constants.Note_ID))
                {
                    var note = _notesManager.Get_NoteByID <Notes>(Constants.Note_ID);
                    if (note != null)
                    {
                        note.Subject     = Subject;
                        note.Description = Note;

                        _notesManager.UpdateNote(note);
                        MessagingCenter.Send <NotesCreatorViewModel, Notes>(this, _UpdateNote, note);
                    }
                    else
                    {
                        var obj = new Notes();
                        obj.Contact_ID_Ref  = Constants.InMemory_ContactID;
                        obj.Content_ID_Ref  = Guid.NewGuid().ToString();
                        obj.Description     = Note;
                        obj.Subject         = Subject;
                        obj.Sys_Creation    = DateTime.Now;
                        obj.Sys_Transaction = DateTime.Now;

                        _notesManager.AddNote(obj);
                        MessagingCenter.Send <NotesCreatorViewModel, Notes>(this, _SendNote, obj);
                    }
                }
                else
                {
                    var obj = new Notes();
                    obj.Contact_ID_Ref  = Constants.InMemory_ContactID;
                    obj.Content_ID_Ref  = Guid.NewGuid().ToString();
                    obj.Description     = Note;
                    obj.Subject         = Subject;
                    obj.Sys_Creation    = DateTime.Now;
                    obj.Sys_Transaction = DateTime.Now;

                    _notesManager.AddNote(obj);
                    MessagingCenter.Send <NotesCreatorViewModel, Notes>(this, _SendNote, obj);
                }

                //Pop to previous page
                if (navigation != null)
                {
                    navigation.GoBackAsync(true);
                }
            }
            catch (Exception ex)
            {
                string eMessage    = string.Empty;
                string eStackTrace = string.Empty;

                if (ex.InnerException != null)
                {
                    eMessage    = ex.InnerException.Message;
                    eStackTrace = ex.InnerException.StackTrace;
                }
                else
                {
                    eMessage    = ex.Message;
                    eStackTrace = ex.StackTrace;
                }

                var mEx = new Exceptions(logging, eMessage, eStackTrace);
                if (mEx != null)
                {
                    mEx.HandleException(mEx, logging);
                }

                //Output a dialogue here
                if (dialogue != null)
                {
                    dialogue.ShowAlert("mmm...Something went wrong", mEx.Message);
                }
            }
        }