private bool Delete(ref PreDetDocsVta_Det_Operacion item)
        {
            try
            {
                if (item.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted)
                {
                    DataAccessEnterpriseSQL.DAAsignarProcedure("VEN_PDVOSD_UnReg");
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintPDVO_Codigo", item.PDVO_Codigo, SqlDbType.Int, 4, ParameterDirection.Input);

                    if (DataAccessEnterpriseSQL.DAExecuteNonQuery() > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
        public BLPreDetDocsVta_Det_Operacion(IUnityContainer container)
        {
            this.ContainerService = container;
            Loader = new BusinessEntityLoader <PreDetDocsVta_Det_Operacion>();
            PreDetDocsVta_Det_Operacion item = new PreDetDocsVta_Det_Operacion();

            Loader.EntityType = item.GetType();
        }
 public Boolean SavePreDetDocsVta_Det_Operacion(ref PreDetDocsVta_Det_Operacion Item)
 {
     try
     {
         if (Item.Instance != Infrastructure.Aspect.BusinessEntity.InstanceEntity.Unchanged)
         {
             return(BL_PreDetDocsVta_Det_Operacion.Save(ref Item));
         }
         return(true);
     }
     catch (Exception)
     { throw; }
 }
        public Boolean Save(PreDetDocsVta_Det_Operacion Item)
        {
            try
            {
                Boolean m_isCorrect = true;
                if (Item.Trasanct)
                {
                    Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DABeginTransaction();
                    switch (Item.Instance)
                    {
                    case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added:
                        m_isCorrect = Insert(ref Item); break;

                    case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified:
                        m_isCorrect = Update(ref Item); 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();
                    }
                }
                else
                {
                    switch (Item.Instance)
                    {
                    case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added:
                        m_isCorrect = Insert(ref Item); break;

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

                    case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted:
                        m_isCorrect = Delete(ref Item); break;
                    }
                    return(m_isCorrect);
                }
                return(m_isCorrect);
            }
            catch (Exception)
            { Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction(); throw; }
        }
 private ObservableCollection <PreDetDocsVta_Det_Operacion> SelectAll()
 {
     try
     {
         ObservableCollection <PreDetDocsVta_Det_Operacion> items = new ObservableCollection <PreDetDocsVta_Det_Operacion>();
         PreDetDocsVta_Det_Operacion item = new PreDetDocsVta_Det_Operacion();
         DataAccessEnterpriseSQL.DAAsignarProcedure("VEN_PDVOSS_Todos");
         using (IDataReader reader = DataAccessEnterpriseSQL.DAExecuteReader())
         {
             while (reader.Read())
             {
                 item = new PreDetDocsVta_Det_Operacion();
                 Loader.LoadEntity(reader, item);
                 item.Instance = InstanceEntity.Unchanged;
                 items.Add(item);
             }
         }
         return(items);
     }
     catch (Exception ex)
     { throw ex; }
 }
        private bool Insert(ref PreDetDocsVta_Det_Operacion item)
        {
            try
            {
                if (item.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                {
                    DataAccessEnterpriseSQL.DAAsignarProcedure("VEN_PDVOSI_UnReg");
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintPDVO_Codigo", item.PDVO_Codigo, SqlDbType.Int, 4, ParameterDirection.InputOutput);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintSOPE_Item", item.SOPE_Item, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintCOPE_Codigo", item.COPE_Codigo, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintDOPE_Item", item.DOPE_Item, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinPDDO_Item", item.PDDO_Item, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintDOCV_Codigo", item.DOCV_Codigo, SqlDbType.Int, 4, ParameterDirection.Input);


                    if (DataAccessEnterpriseSQL.DAExecuteNonQuery() > 0)
                    {
                        Int32 _PDVO_Codigo;
                        if (Int32.TryParse(DataAccessEnterpriseSQL.DASqlCommand.Parameters["@pintPDVO_Codigo"].Value.ToString(), out _PDVO_Codigo))
                        {
                            item.PDVO_Codigo = _PDVO_Codigo;
                        }
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
 private PreDetDocsVta_Det_Operacion SelectOne(Int32 PDVO_Codigo)
 {
     try
     {
         PreDetDocsVta_Det_Operacion item = new PreDetDocsVta_Det_Operacion();
         DataAccessEnterpriseSQL.DAAsignarProcedure("VEN_PDVOSS_UnReg");
         DataAccessEnterpriseSQL.DAAgregarParametro("@pintPDVO_Codigo", PDVO_Codigo, SqlDbType.Int, 4, ParameterDirection.Input);
         using (IDataReader reader = DataAccessEnterpriseSQL.DAExecuteReader())
         {
             if (reader.Read())
             {
                 Loader.LoadEntity(reader, item);
                 item.Instance = InstanceEntity.Unchanged;
             }
             else
             {
                 throw new Exception("No se encontro el registro.");
             }
         }
         return(item);
     }
     catch (Exception ex)
     { throw ex; }
 }
예제 #8
0
        public Boolean Save(ref PreDocsVta Item)
        {
            try
            {
                Boolean m_isCorrect = true;
                DataAccessEnterpriseSQL.DABeginTransaction();
                switch (Item.Instance)
                {
                case InstanceEntity.Added:
                    m_isCorrect = Insert(ref Item);
                    if (m_isCorrect)
                    {
                        /* Items Detalle Documentos de Venta */
                        if (Item.ItemsPreDetDocsVta != null && Item.ItemsPreDetDocsVta.Count > 0)
                        {
                            foreach (var item in Item.ItemsPreDetDocsVta)
                            {
                                PreDetDocsVta itemPreDetDocsVta = item;
                                itemPreDetDocsVta.DOCV_Codigo = Item.PDOC_Codigo;
                                itemPreDetDocsVta.Trasanct    = false;
                                m_isCorrect = BLPreDetDocsVta.Save(ref itemPreDetDocsVta);
                                if (m_isCorrect)
                                {
                                    /* Items ItemsPreDetDocsVta_Det_Operacion */
                                    if (Item.ItemsPreDetDocsVta_Det_Operacion != null && Item.ItemsPreDetDocsVta_Det_Operacion.Count > 0)
                                    {
                                        if (!itemPreDetDocsVta.Tarjas)                              // Si es Operación
                                        {
                                            if (!String.IsNullOrEmpty(itemPreDetDocsVta.CTAR_Tipo)) // Servcios Logistico, aduanero y transporte)
                                            {
                                                foreach (var preDetDocsVtaDetOperacion in Item.ItemsPreDetDocsVta_Det_Operacion.Where(data => data.CTAR_Tipo == itemPreDetDocsVta.CTAR_Tipo && data.Agregar).ToObservableCollection())
                                                {
                                                    PreDetDocsVta_Det_Operacion itemPreDetDocsVtaDetOperacion = preDetDocsVtaDetOperacion;
                                                    itemPreDetDocsVtaDetOperacion.PDVO_Codigo = Item.PDOC_Codigo;
                                                    if (!String.IsNullOrEmpty(itemPreDetDocsVtaDetOperacion.CTAR_Tipo))
                                                    {
                                                        // Servicios Log,Adu,Trans
                                                        m_isCorrect = BLDet_Operacion.UpdateDetOperacionPreFactura(
                                                            itemPreDetDocsVtaDetOperacion.COPE_Codigo,
                                                            itemPreDetDocsVtaDetOperacion.DOPE_Item,
                                                            itemPreDetDocsVta.PDDO_Item,
                                                            itemPreDetDocsVta.DOCV_Codigo, "003"); // 003 => PreFacturada
                                                    }
                                                    if (!m_isCorrect)
                                                    {
                                                        break;
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                // Servicios Adicionales
                                                var preDetDocsVtaDetOperacion = Item.ItemsPreDetDocsVta_Det_Operacion.FirstOrDefault(data => data.SOPE_Item == itemPreDetDocsVta.SOPE_Item);
                                                if (preDetDocsVtaDetOperacion != null)
                                                {
                                                    m_isCorrect = BLDet_Operacion_Servicio.UpdateDetServicioOperacionPreFactura(
                                                        preDetDocsVtaDetOperacion.COPE_Codigo,
                                                        preDetDocsVtaDetOperacion.SOPE_Item,
                                                        itemPreDetDocsVta.PDDO_Item,
                                                        itemPreDetDocsVta.DOCV_Codigo, "003"); // 003 => PreFacturada
                                                }
                                                if (!m_isCorrect)
                                                {
                                                    break;
                                                }
                                            }
                                        }
                                        else
                                        {
                                            // Es Tarjas
                                            foreach (var preDetDoc in Item.ItemsPreDetDocsVta_Det_Operacion.Where(data => data.Agregar).ToObservableCollection())
                                            {
                                                PreDetDocsVta_Det_Operacion itemPreDetDocsVtaDetOperacion = preDetDoc;
                                                itemPreDetDocsVtaDetOperacion.PDVO_Codigo = Item.PDOC_Codigo;
                                                m_isCorrect = BLDet_Tarjas.UpdateDetTarjasPreFacturacion(
                                                    itemPreDetDocsVtaDetOperacion.TARJ_Codigo,
                                                    itemPreDetDocsVtaDetOperacion.DTAJ_Item,
                                                    itemPreDetDocsVta.PDDO_Item,
                                                    itemPreDetDocsVta.DOCV_Codigo, "004"); // 004 => Facturada
                                                if (!m_isCorrect)
                                                {
                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }
                    }
                    break;

                case InstanceEntity.Modified:
                    m_isCorrect = Update(ref Item);
                    if (m_isCorrect)
                    {
                        /* Items Detalle Documentos de Venta */
                        if (Item.ItemsPreDetDocsVta != null && Item.ItemsPreDetDocsVta.Count > 0)
                        {
                            /* Liberar todos Items Det_Operacion */
                            foreach (var item in Item.ItemsPreDetDocsVta)
                            {
                                PreDetDocsVta itemPreDetDocsVta = item;
                                //itemPreDetDocsVta.DOCV_Codigo = Item.PDOC_Codigo;
                                itemPreDetDocsVta.Trasanct = false;

                                /* Items ItemsPreDetDocsVta_Det_Operacion */
                                if (Item.ItemsPreDetDocsVta_Det_Operacion != null && Item.ItemsPreDetDocsVta_Det_Operacion.Count > 0)
                                {
                                    if (!itemPreDetDocsVta.Tarjas)                              // Si es Operación
                                    {
                                        if (!String.IsNullOrEmpty(itemPreDetDocsVta.CTAR_Tipo)) // Servcios Logistico, aduanero y transporte
                                        {
                                            /* Liberar Items Det_Operacion */
                                            foreach (var xitem in Item.ItemsPreDetDocsVta_Det_Operacion.Where(data => data.CTAR_Tipo == itemPreDetDocsVta.CTAR_Tipo).ToObservableCollection())
                                            {
                                                PreDetDocsVta_Det_Operacion itemPreDetDocsVtaDetOperacion = xitem;
                                                itemPreDetDocsVtaDetOperacion.PDVO_Codigo = Item.PDOC_Codigo;
                                                if (!String.IsNullOrEmpty(itemPreDetDocsVtaDetOperacion.CTAR_Tipo))
                                                {
                                                    BLDet_Operacion.UpdateDetOperacionPreFactura(
                                                        itemPreDetDocsVtaDetOperacion.COPE_Codigo,
                                                        itemPreDetDocsVtaDetOperacion.DOPE_Item,
                                                        0,
                                                        0, "002"); // 002 => Terminada
                                                }
                                            }
                                        }
                                        else
                                        {
                                            /* Liberar Item Det_OperacionServico  Servicio Adicional */
                                            var preDetDocsVtaDetOperacion = Item.ItemsPreDetDocsVta_Det_Operacion.FirstOrDefault(data => data.SOPE_Item == itemPreDetDocsVta.SOPE_Item);
                                            if (preDetDocsVtaDetOperacion != null)
                                            {
                                                BLDet_Operacion_Servicio.UpdateDetServicioOperacionPreFactura(
                                                    preDetDocsVtaDetOperacion.COPE_Codigo,
                                                    preDetDocsVtaDetOperacion.SOPE_Item,
                                                    0,
                                                    0, "002"); // 002 => Terminada
                                            }
                                        }
                                    }
                                    else // Tarjas
                                    {
                                        foreach (var preDetDoc in Item.ItemsPreDetDocsVta_Det_Operacion.Where(data => data.Agregar).ToObservableCollection())
                                        {
                                            PreDetDocsVta_Det_Operacion itemPreDetDocsVtaDetOperacion = preDetDoc;
                                            itemPreDetDocsVtaDetOperacion.PDVO_Codigo = Item.PDOC_Codigo;
                                            m_isCorrect = BLDet_Tarjas.UpdateDetTarjasPreFacturacion(
                                                itemPreDetDocsVtaDetOperacion.TARJ_Codigo,
                                                itemPreDetDocsVtaDetOperacion.DTAJ_Item,
                                                0,
                                                0, "004"); // 004 => Facturada
                                            if (!m_isCorrect)
                                            {
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                            /* Eliminar PreDetDocVenta */
                            foreach (var item in Item.ItemsPreDetDocsVta)
                            {
                                if (item.DOCV_Codigo > 0)
                                {
                                    item.Instance = InstanceEntity.Deleted;
                                }
                            }
                            ObservableCollection <PreDetDocsVta> itemsDeletePreDetDocsVta = Item.ItemsPreDetDocsVta.Where(data => data.DOCV_Codigo > 0).ToObservableCollection();
                            m_isCorrect = BLPreDetDocsVta.Save(ref itemsDeletePreDetDocsVta);

                            /* Guardamos de Nuevo Solo los Marcados */
                            foreach (var item in Item.ItemsPreDetDocsVta.Where(data => data.Agregar))
                            {
                                PreDetDocsVta itemPreDetDocsVta = item;
                                itemPreDetDocsVta.DOCV_Codigo  = Item.PDOC_Codigo;
                                itemPreDetDocsVta.Trasanct     = false;
                                itemPreDetDocsVta.Instance     = InstanceEntity.Added;
                                itemPreDetDocsVta.AUDI_UsrCrea = Item.AUDI_UsrMod;
                                if (Item.AUDI_FecMod != null)
                                {
                                    itemPreDetDocsVta.AUDI_FecCrea = Item.AUDI_FecMod.Value;
                                }
                                m_isCorrect = BLPreDetDocsVta.Save(ref itemPreDetDocsVta);
                                if (m_isCorrect)
                                {
                                    /* Items ItemsPreDetDocsVta_Det_Operacion */
                                    if (Item.ItemsPreDetDocsVta_Det_Operacion != null && Item.ItemsPreDetDocsVta_Det_Operacion.Count > 0)
                                    {
                                        if (!itemPreDetDocsVta.Tarjas)                              // Si es Operación
                                        {
                                            if (!String.IsNullOrEmpty(itemPreDetDocsVta.CTAR_Tipo)) // Servcios Logistico, aduanero y transporte)
                                            {
                                                foreach (var preDetDocsVtaDetOperacion in Item.ItemsPreDetDocsVta_Det_Operacion.Where(data => data.CTAR_Tipo == itemPreDetDocsVta.CTAR_Tipo && data.Agregar).ToObservableCollection())
                                                {
                                                    PreDetDocsVta_Det_Operacion itemPreDetDocsVtaDetOperacion = preDetDocsVtaDetOperacion;
                                                    itemPreDetDocsVtaDetOperacion.PDVO_Codigo = Item.PDOC_Codigo;
                                                    if (!String.IsNullOrEmpty(itemPreDetDocsVtaDetOperacion.CTAR_Tipo))
                                                    {
                                                        // Servicios Log,Adu,Trans
                                                        m_isCorrect = BLDet_Operacion.UpdateDetOperacionPreFactura(
                                                            itemPreDetDocsVtaDetOperacion.COPE_Codigo,
                                                            itemPreDetDocsVtaDetOperacion.DOPE_Item,
                                                            itemPreDetDocsVta.PDDO_Item,
                                                            itemPreDetDocsVta.DOCV_Codigo, "003"); // 003 => PreFacturada
                                                    }
                                                    if (!m_isCorrect)
                                                    {
                                                        break;
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                // Servicios Adicionales
                                                var preDetDocsVtaDetOperacion = Item.ItemsPreDetDocsVta_Det_Operacion.FirstOrDefault(data => data.SOPE_Item == itemPreDetDocsVta.SOPE_Item);
                                                if (preDetDocsVtaDetOperacion != null)
                                                {
                                                    m_isCorrect = BLDet_Operacion_Servicio.UpdateDetServicioOperacionPreFactura(
                                                        preDetDocsVtaDetOperacion.COPE_Codigo,
                                                        preDetDocsVtaDetOperacion.SOPE_Item,
                                                        itemPreDetDocsVta.PDDO_Item,
                                                        itemPreDetDocsVta.DOCV_Codigo, "003"); // 003 => PreFacturada
                                                }
                                                if (!m_isCorrect)
                                                {
                                                    break;
                                                }
                                            }
                                        }
                                        else
                                        {
                                            // Es Tarjas
                                            foreach (var preDetDoc in Item.ItemsPreDetDocsVta_Det_Operacion.Where(data => data.Agregar).ToObservableCollection())
                                            {
                                                PreDetDocsVta_Det_Operacion itemPreDetDocsVtaDetOperacion = preDetDoc;
                                                itemPreDetDocsVtaDetOperacion.PDVO_Codigo = Item.PDOC_Codigo;
                                                m_isCorrect = BLDet_Tarjas.UpdateDetTarjasPreFacturacion(
                                                    itemPreDetDocsVtaDetOperacion.TARJ_Codigo,
                                                    itemPreDetDocsVtaDetOperacion.DTAJ_Item,
                                                    itemPreDetDocsVta.PDDO_Item,
                                                    itemPreDetDocsVta.DOCV_Codigo, "004"); // 004 => Facturada
                                                if (!m_isCorrect)
                                                {
                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }
                    }
                    break;

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