示例#1
0
 public void EliminarDetalle(Entities.DetPerfilAsientos x_item)
 {
     try
     {
         if (Infrastructure.WinForms.Controls.Dialogos.MostrarMensajePregunta(Title, "¿Desea perder eliminar el registro seleccionado?", Infrastructure.WinForms.Controls.Dialogos.LabelBoton.Si_No) == System.Windows.Forms.DialogResult.Yes)
         {
             if (x_item.Instance != Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
             {
                 Item.ListDetPerfilAsientosEliminados.Add(x_item);
             }
             Item.ListDetPerfilAsientos.Remove(x_item);
             MView.ShowItems();
         }
     }
     catch (Exception)
     { throw; }
 }
        private void AddDetPerfil()
        {
            try
            {
                if (BSItems != null)
                {
                    Entities.DetPerfilAsientos _flete = new Entities.DetPerfilAsientos();
                    Int16 _DCOT_Item = 0;
                    if (((ObservableCollection <Entities.DetPerfilAsientos>)BSItems.DataSource).Count > 0)
                    {
                        _DCOT_Item = ((ObservableCollection <Entities.DetPerfilAsientos>)BSItems.DataSource).Max(dcot => dcot.DETP_Item);
                    }
                    _flete.DETP_Item    = Convert.ToInt16(_DCOT_Item + 1);
                    _flete.AUDI_UsrCrea = Presenter.Session.UserName;
                    _flete.AUDI_FecCrea = Presenter.Session.Fecha;
                    _flete.Instance     = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added;

                    BSItems.Add(_flete);
                    BSItems.ResetBindings(true);
                }
            }
            catch (Exception ex)
            { Infrastructure.WinForms.Controls.Dialogos.MostrarMensajeError(Presenter.Title, "Ha ocurrido un error al agregar un nuevo detalle", ex); }
        }
        public Boolean Save(ref CabPerfilAsientos Item)
        {
            try
            {
                DataAccessEnterpriseSQL.DABeginTransaction();
                Boolean m_isCorrect = true;
                String  x_usuario   = "";
                switch (Item.Instance)
                {
                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added:
                    m_isCorrect = Insert(ref Item);
                    x_usuario   = Item.AUDI_UsrCrea;
                    break;

                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified:
                    m_isCorrect = Update(ref Item);
                    x_usuario   = Item.AUDI_UsrMod;
                    break;

                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted:
                    m_isCorrect = Delete(ref Item); break;
                }

                #region Guardar Detalles

                if (Item.ListDetPerfilAsientosEliminados != null && Item.ListDetPerfilAsientosEliminados.Count > 0)
                {
                    foreach (DetPerfilAsientos item in Item.ListDetPerfilAsientosEliminados)
                    {
                        item.Instance = InstanceEntity.Deleted;
                        Entities.DetPerfilAsientos _item = item;
                        m_isCorrect = BL_DetPerfilAsientos.Save(ref _item);
                        if (!m_isCorrect)
                        {
                            throw new Exception(String.Format("No se puede eliminar el item {0}", item.DETP_Item));
                        }
                    }
                }

                if (Item.ListDetPerfilAsientos != null && Item.ListDetPerfilAsientos.Count > 0)
                {
                    foreach (DetPerfilAsientos item in Item.ListDetPerfilAsientos)
                    {
                        item.CABP_Ano    = Item.CABP_Ano;
                        item.CABP_Codigo = Item.CABP_Codigo;
                        switch (item.Instance)
                        {
                        case InstanceEntity.Added:
                            item.AUDI_UsrCrea = x_usuario;
                            break;

                        case InstanceEntity.Modified:
                            item.AUDI_UsrMod = x_usuario;
                            break;
                        }
                        Entities.DetPerfilAsientos _item = item;
                        m_isCorrect = BL_DetPerfilAsientos.Save(ref _item);
                        if (!m_isCorrect)
                        {
                            throw new Exception(String.Format("No se puede grabar el item {0}", item.DETP_Item));
                        }
                    }
                }
                #endregion

                if (m_isCorrect)
                {
                    DataAccessEnterpriseSQL.DACommitTransaction();
                }
                else
                {
                    DataAccessEnterpriseSQL.DARollbackTransaction();
                }
                return(m_isCorrect);
            }
            catch (Exception)
            { DataAccessEnterpriseSQL.DARollbackTransaction(); throw; }
        }