コード例 #1
0
        /// <summary>
        /// Guarda la Nota y modifica el Guest
        /// </summary>
        /// <param name="prNote">Tipo nota</param>
        ///<param name="guest">Tipo de Guest</param>
        /// <history>
        /// [jorcanche] created 14/03/2016
        /// </history>
        public static async Task <int> SaveNoteGuest(PRNote prNote, Guest guest)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            //Guardamos la informacion de la nota del guest
                            dbContext.Entry(prNote).State = System.Data.Entity.EntityState.Added;

                            //Guardamos la modificación del guest si se debe modificar
                            if (guest != null)
                            {
                                dbContext.Entry(guest).State = System.Data.Entity.EntityState.Modified;
                            }

                            var respuesta = dbContext.SaveChanges();
                            transaction.Commit();
                            return respuesta;
                        }
                        catch
                        {
                            transaction.Rollback();
                            return 0;
                        }
                    }
                }
            }));
        }
コード例 #2
0
ファイル: frmPRNotes.xaml.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Guarda la nota
        /// </summary>
        /// <history>
        /// [jorcanche] created 07/04/2016
        /// </history>
        public async void Save()
        {
            try
            {
                EnabledControls(true, true, false);
                if (AfterValidate())
                {
                    //Agregamos la nota
                    var note = new PRNote
                    {
                        pnDT   = Convert.ToDateTime(txtpnDT.Text),
                        pngu   = _guestId,
                        pnPR   = txtpnPR.Text,
                        pnText = txtpnText.Text
                    };

                    //Actualizamos el guest si no tiene ninguna nota
                    Guest guest = null;
                    if (!await BRNotes.GetCountNoteGuest(_guestId))
                    {
                        guest = await BRGuests.GetGuest(_guestId);

                        guest.guPRNote = true;
                        SaveNote       = true;
                    }
                    else
                    {
                        SaveNote = false;
                    }
                    //Enviamos los parametros para que agregue la nueva nota y modificamos el guest.
                    //Si hubo un erro al ejecutar el metodo SaveNoteGuest nos devolvera 0, indicando que ningun paso
                    //se realizo, es decir ni se agrego la nota y se modifico el guest, y siendo así ya no modificamos la variable
                    //_saveNote que es el que indica que se guardo el Avail.
                    if (await BRNotes.SaveNoteGuest(note, guest) != 0)
                    {
                        //Actualizamos el datagrid
                        _pRNoteViewSource.Source = await BRNotes.GetNoteGuest(_guestId);

                        DgNotes_OnSelectedCellsChanged(dgNotes, null);
                    }
                    else
                    {
                        //De no ser así informamos que no se guardo la información por algun motivo
                        UIHelper.ShowMessage("There was an error saving the information, consult your system administrator",
                                             MessageBoxImage.Error, "Information can not keep");
                    }
                    CleanControls();
                    _creatingNote = false;
                }
                else
                {
                    EnabledControls(false, false, true);
                }
            }
            catch (Exception ex)
            {
                UIHelper.ShowMessage(ex);
            }
        }