Beispiel #1
0
 private ObservableCollection <Det_Operacion_Servicio> SelectAllByOperacion(Int32 x_COPE_Codigo)
 {
     try
     {
         ObservableCollection <Det_Operacion_Servicio> items = new ObservableCollection <Det_Operacion_Servicio>();
         Det_Operacion_Servicio item = new Det_Operacion_Servicio();
         DataAccessEnterpriseSQL.DAAsignarProcedure("SLI_SOPESS_TodosbyOperacion");
         DataAccessEnterpriseSQL.DAAgregarParametro("@pintCOPE_Codigo", x_COPE_Codigo, SqlDbType.Int, 4, ParameterDirection.Input);
         using (IDataReader reader = DataAccessEnterpriseSQL.DAExecuteReader())
         {
             while (reader.Read())
             {
                 item = new Det_Operacion_Servicio();
                 Loader.LoadEntity(reader, item);
                 item.Instance = InstanceEntity.Unchanged;
                 items.Add(item);
             }
         }
         return(items);
     }
     catch (Exception ex)
     { throw ex; }
 }
Beispiel #2
0
        public Boolean Save(ref Cab_Operacion Item)
        {
            try
            {
                Boolean m_isCorrect = true;
                Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DABeginTransaction();
                switch (Item.Instance)
                {
                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added:
                    m_isCorrect = Insert(ref Item);
                    /* Items Detalle Operación */
                    if (Item.ItemsDet_Operacion != null && Item.ItemsDet_Operacion.Count > 0)
                    {
                        foreach (var _item in Item.ItemsDet_Operacion)
                        {
                            Det_Operacion _Deta = new Det_Operacion();
                            _Deta             = _item;
                            _Deta.COPE_Codigo = Item.COPE_Codigo;
                            _Deta.Trasanct    = false;
                            _Deta.Instance    = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added;
                            m_isCorrect       = BLDet_Operacion.Save(_Deta);
                            if (!m_isCorrect)
                            {
                                break;
                            }
                        }
                    }
                    /* Items Servicios Operación */
                    if (Item.ItemsDet_Operacion_Servicio != null && Item.ItemsDet_Operacion_Servicio.Count > 0)
                    {
                        foreach (var _itemServ in Item.ItemsDet_Operacion_Servicio)
                        {
                            Det_Operacion_Servicio _Servicio = new Det_Operacion_Servicio();
                            _Servicio              = _itemServ;
                            _Servicio.COPE_Codigo  = Item.COPE_Codigo;
                            _Servicio.Trasanct     = false;
                            _Servicio.Instance     = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added;
                            _Servicio.AUDI_UsrCrea = Item.AUDI_UsrCrea;
                            m_isCorrect            = BLDet_Operacion_Servicio.Save(_Servicio);
                            if (!m_isCorrect)
                            {
                                break;
                            }
                        }
                    }
                    break;

                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified:
                    m_isCorrect = Update(ref Item);
                    /* Eliminar los detalles de operacion */
                    if (Item.ItemsDet_Operacion_Eliminados != null && Item.ItemsDet_Operacion_Eliminados.Count > 0 && m_isCorrect)
                    {
                        foreach (Entities.Det_Operacion iEliminados in Item.ItemsDet_Operacion_Eliminados)
                        {
                            iEliminados.Instance = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted;
                            Det_Operacion _Deta = new Det_Operacion();
                            _Deta             = iEliminados;
                            _Deta.COPE_Codigo = Item.COPE_Codigo;
                            _Deta.Trasanct    = false;
                            BLDet_Operacion.Save(_Deta);
                            //if (!m_isCorrect) { break; }
                        }
                    }
                    /* Items Detalle Operación */
                    if (Item.ItemsDet_Operacion != null && Item.ItemsDet_Operacion.Count > 0 && m_isCorrect)
                    {
                        foreach (var _item in Item.ItemsDet_Operacion)
                        {
                            Det_Operacion _Deta = new Det_Operacion();
                            _Deta             = _item;
                            _Deta.COPE_Codigo = Item.COPE_Codigo;
                            _Deta.Trasanct    = false;
                            m_isCorrect       = BLDet_Operacion.Save(_Deta);
                            if (!m_isCorrect)
                            {
                                break;
                            }
                        }
                    }
                    /* Eliminar Items Servicios Operación */
                    if (Item.ItemsDet_Operacion_Servicio_Eliminados != null && Item.ItemsDet_Operacion_Servicio_Eliminados.Count > 0 && m_isCorrect)
                    {
                        foreach (Entities.Det_Operacion_Servicio _itemServ in Item.ItemsDet_Operacion_Servicio_Eliminados)
                        {
                            Det_Operacion_Servicio _Servicio = new Det_Operacion_Servicio();
                            _Servicio              = _itemServ;
                            _Servicio.COPE_Codigo  = Item.COPE_Codigo;
                            _Servicio.Trasanct     = false;
                            _Servicio.Instance     = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted;
                            _Servicio.AUDI_UsrCrea = Item.AUDI_UsrMod;
                            BLDet_Operacion_Servicio.Save(_Servicio);
                            //if (!m_isCorrect) { break; }
                        }
                    }

                    /* Items Servicios Operación */
                    if (Item.ItemsDet_Operacion_Servicio != null && Item.ItemsDet_Operacion_Servicio.Count > 0 && m_isCorrect)
                    {
                        foreach (var _itemServ in Item.ItemsDet_Operacion_Servicio)
                        {
                            Det_Operacion_Servicio _Servicio = new Det_Operacion_Servicio();
                            _Servicio             = _itemServ;
                            _Servicio.COPE_Codigo = Item.COPE_Codigo;
                            _Servicio.Trasanct    = false;
                            //_Servicio.Instance = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added;
                            _Servicio.AUDI_UsrCrea = Item.AUDI_UsrMod;
                            if (_Servicio.SOPE_Item == 0)
                            {
                                _Servicio.Instance = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added;
                            }
                            m_isCorrect = BLDet_Operacion_Servicio.Save(_Servicio);
                            if (!m_isCorrect)
                            {
                                break;
                            }
                        }
                    }
                    break;

                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted:
                    m_isCorrect = Delete(ref Item); break;
                }
                if (m_isCorrect)
                {
                    Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DACommitTransaction();
                }
                else
                {
                    Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction();
                }
                return(m_isCorrect);
            }
            catch (Exception)
            { Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction(); throw; }
        }