Beispiel #1
0
        public Cab_Cotizacion_OV GetOne(Int16 EMPR_Codigo, Int16 SUCR_Codigo, Int32 CCOT_Numero, Int16 CCOT_Tipo)
        {
            try
            {
                if (CCOT_Numero == null || CCOT_Tipo == null)
                {
                    return(null);
                }

                Cab_Cotizacion_OV Item = SelectOneRelated(EMPR_Codigo, SUCR_Codigo, CCOT_Numero, CCOT_Tipo);
                //Item.ItemsFlete = BL_Det_Cotizacion_OV_Flete.GetAllByCab_Cotizacion_OV(CCOT_Numero, CCOT_Tipo);
                //Item.ItemsServicio = BL_Det_Cotizacion_OV_Servicio.GetAllByCab_Cotizacion_OV(CCOT_Tipo, CCOT_Numero);

                //if (Item.CCOT_Tipo == 2)
                //{
                //   if (Item.NVIA_Codigo.HasValue && Item.PUER_CodOrigen.HasValue && Item.PUER_CodDestino.HasValue) { Item.ItemNaveViaje = BL_DetNaveViaje.GetOneByOV(Item.CONS_TabRGM, Item.CONS_CodRGM, Item.CONS_TabVia, Item.CONS_CodVia, Item.PUER_CodOrigen.Value, Item.PUER_CodDestino.Value, Item.NVIA_Codigo.Value); } else { Item.ItemNaveViaje = null; }
                //   Item.ItemsArchivo = BL_Det_Cotizacion_OV_Archivo.GetAllByCab_Cotizacion_OV(CCOT_Numero, CCOT_Tipo);
                //   Item.ItemsNovedad = BL_Det_Cotizacion_OV_Novedad.GetAllByCab_Cotizacion_OV(CCOT_Numero, CCOT_Tipo);
                //}

                //if (Item.EMPR_Codigo.HasValue && Item.CONT_Codigo.HasValue)
                //{ Item.ItemContrato = BL_Contrato.GetOne(Item.EMPR_Codigo.Value,  Item.CONT_Codigo.Value); }
                return(Item);
            }
            catch (Exception ex)
            { throw ex; }
        }
Beispiel #2
0
        private bool Delete(ref Cab_Cotizacion_OV item)
        {
            try
            {
                if (item.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted)
                {
                    DataAccessEnterpriseSQL.DAAsignarProcedure("TCOM_SP_ELIMINAR_Cab_Cotizacion_OV");
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintCCOT_Numero", item.CCOT_Numero, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinCCOT_Tipo", item.CCOT_Tipo, SqlDbType.SmallInt, 2, ParameterDirection.Input);

                    if (DataAccessEnterpriseSQL.DAExecuteNonQuery() > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
Beispiel #3
0
 private Cab_Cotizacion_OV SelectOne(Int16 EMPR_Codigo, Int16 SUCR_Codigo, Int32 CCOT_Numero, Int16 CCOT_Tipo)
 {
     try
     {
         Cab_Cotizacion_OV item = new Cab_Cotizacion_OV();
         DataAccessEnterpriseSQL.DAAsignarProcedure("TCOM_SP_CONSULTAR_Cab_Cotizacion_OV");
         DataAccessEnterpriseSQL.DAAgregarParametro("@psinEMPR_Codigo", EMPR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input);
         DataAccessEnterpriseSQL.DAAgregarParametro("@psinSUCR_Codigo", SUCR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input);
         DataAccessEnterpriseSQL.DAAgregarParametro("@pintCCOT_Numero", CCOT_Numero, SqlDbType.Int, 4, ParameterDirection.Input);
         DataAccessEnterpriseSQL.DAAgregarParametro("@psinCCOT_Tipo", CCOT_Tipo, SqlDbType.SmallInt, 2, 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; }
 }
Beispiel #4
0
        /// <summary>
        /// Cristhian Jose Apaza
        /// DepTem de las OV pertenecientes  a una Nave Viaje
        /// </summary>
        /// <param name="EMPR_Codigo"></param>
        /// <param name="SUCR_Codigo"></param>
        /// <param name="NVIA_Codigo"></param>
        /// <param name="TIPO_Correo"></param>
        /// <returns></returns>
        public ObservableCollection <Cab_Cotizacion_OV> SelectAllCab_OV_CabByNVIA_Codigo(Int32 NVIA_Codigo)//Int16 EMPR_Codigo, Int16 SUCR_Codigo,
        {
            try
            {
                ObservableCollection <Cab_Cotizacion_OV> items = new ObservableCollection <Cab_Cotizacion_OV>();
                Cab_Cotizacion_OV item = new Cab_Cotizacion_OV();
                DataAccessEnterpriseSQL.DAAsignarProcedure("COM_NVIASS_DepTemp");
                //DataAccessEnterpriseSQL.DAAgregarParametro("@psinEMPR_Codigo", EMPR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                //DataAccessEnterpriseSQL.DAAgregarParametro("@psinSUCR_Codigo", SUCR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                DataAccessEnterpriseSQL.DAAgregarParametro("@pintNVIA_Codigo", NVIA_Codigo, SqlDbType.Int, 4, ParameterDirection.Input);
                //DataAccessEnterpriseSQL.DAAgregarParametro("@pintTIPO_Correo", TIPO_Correo, SqlDbType.Int, 4, ParameterDirection.Input);


                //DataSet _ds = DataAccessEnterpriseSQL.DAExecuteDataSet();

                using (IDataReader reader = DataAccessEnterpriseSQL.DAExecuteReader())
                {
                    while (reader.Read())
                    {
                        item = new Cab_Cotizacion_OV();
                        Loader_Cab_Cotizacion_OV.LoadEntity(reader, item);
                        item.Instance = InstanceEntity.Unchanged;
                        items.Add(item);
                    }
                }
                return(items);
            }
            catch (Exception ex)
            { throw ex; }
        }
Beispiel #5
0
        public BLCab_Cotizacion_OV(IUnityContainer container)
        {
            this.ContainerService = container;
            Loader = new BusinessEntityLoader <Cab_Cotizacion_OV>();
            Cab_Cotizacion_OV item = new Cab_Cotizacion_OV();

            Loader.EntityType = item.GetType();
        }
 public Cab_Cotizacion_OV SaveCab_Cotizacion_OV(Cab_Cotizacion_OV Item, ref String CCOT_MensajeError, Cab_Cotizacion_OV.TipoInterfaz x_opcion)
 {
     try
     {
         return(BL_Cab_Cotizacion_OV.Save(ref Item, ref CCOT_MensajeError, x_opcion));
     }
     catch (Exception)
     { throw; }
 }
 public Boolean OPE_Save_NumerarHBL(ref Cab_Cotizacion_OV Item, ref String NumeroHBL, String Usuario)
 {
     try
     {
         return(OPE_UpdateNumerarHBL(ref Item, ref NumeroHBL, Usuario));
     }
     catch (Exception)
     { throw; }
 }
 public Boolean OPE_SaveCab_Cotizacion_OV(ref Cab_Cotizacion_OV Item, ref String CCOT_MensajeError)
 {
     try
     {
         return(BL_Cab_Cotizacion_OV.OPE_Save(ref Item, ref CCOT_MensajeError));
     }
     catch (Exception)
     { throw; }
 }
Beispiel #9
0
        private Cab_MBL SelectOneByNumero(String CMBL_Numero)
        {
            try
            {
                Cab_MBL item = new Cab_MBL();
                DataAccessEnterpriseSQL.DAAsignarProcedure("OPE_CMBLSS_UnRegByNumero");
                DataAccessEnterpriseSQL.DAAgregarParametro("@pvchCMBL_Numero", CMBL_Numero, SqlDbType.VarChar, 25, ParameterDirection.Input);
                using (IDataReader reader = DataAccessEnterpriseSQL.DAExecuteReader())
                {
                    if (reader.Read())
                    {
                        Loader.LoadEntity(reader, item);
                        item.Instance = InstanceEntity.Unchanged;
                    }

                    //ListCab_Cotizacion_OV
                    if (reader.NextResult())
                    {
                        BusinessEntityLoader <Cab_Cotizacion_OV> LoaderCab_Cotizacion_OV = new BusinessEntityLoader <Cab_Cotizacion_OV>();
                        Cab_Cotizacion_OV itemCab_Cotizacion_OV = new Cab_Cotizacion_OV();
                        LoaderCab_Cotizacion_OV.EntityType = itemCab_Cotizacion_OV.GetType();
                        while (reader.Read())
                        {
                            itemCab_Cotizacion_OV = new Cab_Cotizacion_OV();
                            LoaderCab_Cotizacion_OV.LoadEntity(reader, itemCab_Cotizacion_OV);
                            itemCab_Cotizacion_OV.Instance = InstanceEntity.Unchanged;
                            item.ListCab_Cotizacion_OV.Add(itemCab_Cotizacion_OV);
                        }
                    }

                    //ListDet_CNTR
                    if (reader.NextResult())
                    {
                        BusinessEntityLoader <Det_CNTR> LoaderDet_CNTR = new BusinessEntityLoader <Det_CNTR>();
                        Det_CNTR itemDet_CNTR = new Det_CNTR();
                        LoaderDet_CNTR.EntityType = itemDet_CNTR.GetType();
                        while (reader.Read())
                        {
                            itemDet_CNTR = new Det_CNTR();
                            LoaderDet_CNTR.LoadEntity(reader, itemDet_CNTR);
                            itemDet_CNTR.Instance = InstanceEntity.Unchanged;
                            item.ListDet_CNTR.Add(itemDet_CNTR);
                            itemDet_CNTR = null;
                        }
                    }

                    foreach (Cab_Cotizacion_OV _itemCab_Cotizacion_OV in item.ListCab_Cotizacion_OV)
                    {
                        _itemCab_Cotizacion_OV.ItemsDet_CNTR = item.ListDet_CNTR.Where(DHBL => DHBL.CCOT_Tipo == _itemCab_Cotizacion_OV.CCOT_Tipo && DHBL.CCOT_Numero == _itemCab_Cotizacion_OV.CCOT_Numero).ToObservableCollection();
                    }
                }
                return(item);
            }
            catch (Exception)
            { throw; }
        }
 public Boolean SaveCab_Cotizacion_OV(ref Cab_Cotizacion_OV Item)
 {
     try
     {
         if (Item.Instance != Infrastructure.Aspect.BusinessEntity.InstanceEntity.Unchanged)
         {
             return(BL_Cab_Cotizacion_OV.Save(ref Item));
         }
         return(true);
     }
     catch (Exception)
     { throw; }
 }
 public Cab_Cotizacion_OV SaveCab_Cotizacion_OV(Cab_Cotizacion_OV Item, ref String CCOT_MensajeError)
 {
     try
     {
         if (Item.Instance != Infrastructure.Aspect.BusinessEntity.InstanceEntity.Unchanged)
         {
             return(BL_Cab_Cotizacion_OV.Save(ref Item, ref CCOT_MensajeError));
         }
         return(Item);
     }
     catch (Exception ex)
     { throw ex; }
 }
        public Boolean OPE_ValidateVersion(ref Cab_Cotizacion_OV Item)
        {
            try
            {
                if (Item.EMPR_Codigo.HasValue && Item.SUCR_Codigo.HasValue)
                {
                    Int64 _versionEdicion = BitConverter.ToInt64(Item.AUDI_Version, 0);

                    Byte[] _version       = OPE_SelectOneVersion(Item.EMPR_Codigo.Value, Item.SUCR_Codigo.Value, Item.CCOT_Tipo, Item.CCOT_Numero);
                    Int64  _versionActual = BitConverter.ToInt64(_version, 0);

                    return(_versionActual == _versionEdicion);
                }
                return(true);
            }
            catch (Exception)
            { throw; }
        }
Beispiel #13
0
        public Cab_Cotizacion_OV Save(ref Cab_Cotizacion_OV Item, ref String CCOT_MensajeError, Cab_Cotizacion_OV.TipoInterfaz x_opcion)
        {
            try
            {
                switch (x_opcion)
                {
                case Cab_Cotizacion_OV.TipoInterfaz.OVC_Normal:
                    return(Save(ref Item, ref CCOT_MensajeError));

                    break;

                case Cab_Cotizacion_OV.TipoInterfaz.OVC_Prefacturada:
                    return(SavePrefacturados(ref Item, ref CCOT_MensajeError));

                    break;

                default:
                    break;
                }
            }
            catch (Exception)
            { throw; }
            return(null);
        }
Beispiel #14
0
 private ObservableCollection <Cab_Cotizacion_OV> SelectAll(Int16 EMPR_Codigo, Int16 SUCR_Codigo)
 {
     try
     {
         ObservableCollection <Cab_Cotizacion_OV> items = new ObservableCollection <Cab_Cotizacion_OV>();
         Cab_Cotizacion_OV item = new Cab_Cotizacion_OV();
         DataAccessEnterpriseSQL.DAAsignarProcedure("TCOM_SP_CONSULTAR_Cab_Cotizacion_OV");
         DataAccessEnterpriseSQL.DAAgregarParametro("@psinEMPR_Codigo", EMPR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input);
         DataAccessEnterpriseSQL.DAAgregarParametro("@psinSUCR_Codigo", SUCR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input);
         using (IDataReader reader = DataAccessEnterpriseSQL.DAExecuteReader())
         {
             while (reader.Read())
             {
                 item = new Cab_Cotizacion_OV();
                 Loader.LoadEntity(reader, item);
                 item.Instance = InstanceEntity.Unchanged;
                 items.Add(item);
             }
         }
         return(items);
     }
     catch (Exception ex)
     { throw ex; }
 }
        public Boolean OPE_Save(ref Cab_Cotizacion_OV Item, ref String CCOT_MensajeError)
        {
            Boolean m_isCorrect = true;
            Boolean m_isAdded   = true;
            String  m_usuario   = "";

            try
            {
                Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DABeginTransaction();
                if (Item.Instance != Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added && !OPE_ValidateVersion(ref Item))
                {
                    Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction();

                    Item = OPE_SelectOne(Item.EMPR_Codigo.Value, Item.SUCR_Codigo.Value, Item.CCOT_Tipo, Item.CCOT_Numero);
                    CCOT_MensajeError = String.Format("El registro que esta editando ha sido modificado(Usuario: {0} - Fecha: {1}), el sistema cargará el registro con los valores actualizados, sus cambios no se han guardado.", (!String.IsNullOrEmpty(Item.AUDI_UsrMod) ? Item.AUDI_UsrMod : ""), (Item.AUDI_FecMod.HasValue ? Item.AUDI_FecMod.Value.ToLongDateString() : ""));

                    return(false);
                }
                else
                {
                    switch (Item.Instance)
                    {
                    case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added:
                        m_isCorrect = OPE_Insert(ref Item); m_isAdded = true; m_usuario = Item.AUDI_UsrCrea; break;

                    case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified:
                        m_isCorrect = OPE_Update(ref Item); m_isAdded = false; m_usuario = Item.AUDI_UsrMod; break;

                    case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted:
                        m_isCorrect = OPE_Delete(ref Item);

                        if (m_isCorrect)
                        {
                            Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DACommitTransaction(); return(true);
                        }
                        else
                        {
                            Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction(); return(false);
                        }
                    }
                    if (m_isCorrect)
                    {
                        for (int indexFlete = 0; indexFlete < Item.ItemsFlete.Count; indexFlete++)
                        {
                            Det_Cotizacion_OV_Flete _itemFlete = Item.ItemsFlete[indexFlete];
                            _itemFlete.CCOT_Tipo   = Item.CCOT_Tipo;
                            _itemFlete.CCOT_Numero = Item.CCOT_Numero;

                            if (_itemFlete.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                            {
                                _itemFlete.AUDI_UsrCrea = m_usuario;
                            }
                            else if (_itemFlete.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified)
                            {
                                _itemFlete.AUDI_UsrMod = m_usuario;
                            }

                            m_isCorrect = BL_Det_Cotizacion_OV_Flete.Save(ref _itemFlete, false);
                            if (!m_isCorrect)
                            {
                                break;
                            }
                        }
                        if (m_isCorrect)
                        {
                            for (int indexFlete = 0; indexFlete < Item.ItemsFleteDeleted.Count; indexFlete++)
                            {
                                Det_Cotizacion_OV_Flete _itemFlete = Item.ItemsFleteDeleted[indexFlete];
                                _itemFlete.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemFlete.CCOT_Numero = Item.CCOT_Numero;
                                m_isCorrect            = BL_Det_Cotizacion_OV_Flete.Save(ref _itemFlete, false);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }
                        if (m_isCorrect)
                        {
                            for (int indexServicio = 0; indexServicio < Item.ItemsServicio.Count; indexServicio++)
                            {
                                Det_Cotizacion_OV_Servicio _itemServicio = Item.ItemsServicio[indexServicio];
                                _itemServicio.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemServicio.CCOT_Numero = Item.CCOT_Numero;

                                if (_itemServicio.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                                {
                                    _itemServicio.AUDI_UsrCrea = m_usuario;
                                }
                                else if (_itemServicio.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified)
                                {
                                    _itemServicio.AUDI_UsrMod = m_usuario;
                                }

                                m_isCorrect = BL_Det_Cotizacion_OV_Servicio.Save(ref _itemServicio, false);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }
                        if (m_isCorrect)
                        {
                            for (int indexServicio = 0; indexServicio < Item.ItemsServicioDeleted.Count; indexServicio++)
                            {
                                Det_Cotizacion_OV_Servicio _itemServicio = Item.ItemsServicioDeleted[indexServicio];
                                _itemServicio.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemServicio.CCOT_Numero = Item.CCOT_Numero;
                                m_isCorrect = BL_Det_Cotizacion_OV_Servicio.Save(ref _itemServicio, false);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }

                        if (m_isCorrect)
                        {
                            for (int indexServicioChangeControl = 0; indexServicioChangeControl < Item.ItemsServicioChangeControl.Count; indexServicioChangeControl++)
                            {
                                Det_Cotizacion_OV_Servicio _itemServicioChangeControl = Item.ItemsServicioChangeControl[indexServicioChangeControl];
                                _itemServicioChangeControl.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemServicioChangeControl.CCOT_Numero = Item.CCOT_Numero;

                                if (_itemServicioChangeControl.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                                {
                                    _itemServicioChangeControl.AUDI_UsrCrea = m_usuario;
                                }
                                else if (_itemServicioChangeControl.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified)
                                {
                                    _itemServicioChangeControl.AUDI_UsrMod = m_usuario;
                                }

                                m_isCorrect = BL_Det_Cotizacion_OV_Servicio.Save(ref _itemServicioChangeControl, false);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }
                        if (m_isCorrect)
                        {
                            for (int indexServicioChangeControl = 0; indexServicioChangeControl < Item.ItemsServicioChangeControlDeleted.Count; indexServicioChangeControl++)
                            {
                                Det_Cotizacion_OV_Servicio _itemServicioChangeControl = Item.ItemsServicioChangeControlDeleted[indexServicioChangeControl];
                                _itemServicioChangeControl.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemServicioChangeControl.CCOT_Numero = Item.CCOT_Numero;
                                m_isCorrect = BL_Det_Cotizacion_OV_Servicio.Save(ref _itemServicioChangeControl, false);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }

                        if (m_isCorrect)
                        {
                            for (int indexEventoServicio = 0; indexEventoServicio < Item.ItemsEventosTareas.Count; indexEventoServicio++)
                            {
                                Det_Cotizacion_OV_EventosTareas _itemEventoTarea = Item.ItemsEventosTareas[indexEventoServicio];
                                _itemEventoTarea.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemEventoTarea.CCOT_Numero = Item.CCOT_Numero;

                                if (_itemEventoTarea.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                                {
                                    _itemEventoTarea.AUDI_UsrCrea = m_usuario;
                                }
                                else if (_itemEventoTarea.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified)
                                {
                                    _itemEventoTarea.AUDI_UsrMod = m_usuario;
                                }

                                m_isCorrect = BL_EventosTareas.Save(ref _itemEventoTarea, false);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }
                        if (m_isCorrect)
                        {
                            for (int indexEventoServicio = 0; indexEventoServicio < Item.ItemsEventosTareasDeleted.Count; indexEventoServicio++)
                            {
                                Det_Cotizacion_OV_EventosTareas _itemEventoTarea = Item.ItemsEventosTareasDeleted[indexEventoServicio];
                                _itemEventoTarea.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemEventoTarea.CCOT_Numero = Item.CCOT_Numero;
                                _itemEventoTarea.Instance    = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted;
                                m_isCorrect = BL_EventosTareas.Save(ref _itemEventoTarea, false);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }

                        if (m_isCorrect)
                        {
                            for (int indexAnexos = 0; indexAnexos < Item.ItemsAnexos.Count; indexAnexos++)
                            {
                                Anexos _itemAnexo = Item.ItemsAnexos[indexAnexos];
                                _itemAnexo.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemAnexo.CCOT_Numero = Item.CCOT_Numero;

                                if (_itemAnexo.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                                {
                                    _itemAnexo.AUDI_UsrCrea = m_usuario;
                                }
                                else if (_itemAnexo.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified)
                                {
                                    _itemAnexo.AUDI_UsrMod = m_usuario;
                                }

                                m_isCorrect = BL_Anexos.Save(ref _itemAnexo);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }
                        if (m_isCorrect)
                        {
                            for (int indexAnexos = 0; indexAnexos < Item.ItemsAnexosDeleted.Count; indexAnexos++)
                            {
                                Anexos _itemAnexo = Item.ItemsAnexosDeleted[indexAnexos];
                                _itemAnexo.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemAnexo.CCOT_Numero = Item.CCOT_Numero;
                                m_isCorrect            = BL_Anexos.Save(ref _itemAnexo);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }


                        if (m_isCorrect)
                        {
                            for (int indexArchivos = 0; indexArchivos < Item.ItemsArchivo.Count; indexArchivos++)
                            {
                                Det_Cotizacion_OV_Archivo _itemArchivo = Item.ItemsArchivo[indexArchivos];

                                if (_itemArchivo.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                                {
                                    _itemArchivo.AUDI_UsrCrea = m_usuario;
                                }
                                else if (_itemArchivo.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified)
                                {
                                    _itemArchivo.AUDI_UsrMod = m_usuario;
                                }

                                if (_itemArchivo.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified)
                                {
                                    m_isCorrect = BL_Det_Cotizacion_OV_Archivo.Save(ref _itemArchivo);
                                }
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }

                        if (m_isCorrect)
                        {
                            for (int indexDet_CNTR = 0; indexDet_CNTR < Item.ItemsDet_CNTR.Count; indexDet_CNTR++)
                            {
                                Det_CNTR _itemDet_CNTR = Item.ItemsDet_CNTR[indexDet_CNTR];
                                _itemDet_CNTR.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemDet_CNTR.CCOT_Numero = Item.CCOT_Numero;

                                if (_itemDet_CNTR.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                                {
                                    _itemDet_CNTR.AUDI_UsrCrea = m_usuario;
                                }
                                else if (_itemDet_CNTR.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified)
                                {
                                    _itemDet_CNTR.AUDI_UsrMod = m_usuario;
                                }

                                m_isCorrect = BL_Det_CNTR.Save(ref _itemDet_CNTR);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }
                        if (m_isCorrect)
                        {
                            for (int indexDet_CNTR = 0; indexDet_CNTR < Item.ItemsDet_CNTRDeleted.Count; indexDet_CNTR++)
                            {
                                Det_CNTR _itemDet_CNTR = Item.ItemsDet_CNTRDeleted[indexDet_CNTR];
                                _itemDet_CNTR.CCOT_Tipo   = Item.CCOT_Tipo;
                                _itemDet_CNTR.CCOT_Numero = Item.CCOT_Numero;
                                m_isCorrect = BL_Det_CNTR.Save(ref _itemDet_CNTR);
                                if (!m_isCorrect)
                                {
                                    break;
                                }
                            }
                        }

                        if (m_isCorrect)
                        {
                            m_isCorrect = InsertDetalleViaje(Item.CCOT_Tipo, Item.CCOT_Numero, m_usuario, ref CCOT_MensajeError);
                        }
                    }
                    if (m_isCorrect)
                    {
                        Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DACommitTransaction();

                        if (Item.EMPR_Codigo.HasValue && Item.SUCR_Codigo.HasValue)
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction();
                        return(false);
                    }
                }
            }
            catch (Exception)
            { Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction(); throw; }
        }
Beispiel #16
0
        private bool Insert(ref Cab_Cotizacion_OV item)
        {
            try
            {
                if (item.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                {
                    DataAccessEnterpriseSQL.DAAsignarProcedure("TCOM_SP_INSERTAR_Cab_Cotizacion_OV");
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintCCOT_Numero", item.CCOT_Numero, SqlDbType.Int, 4, ParameterDirection.InputOutput);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinCCOT_Tipo", item.CCOT_Tipo, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinEMPR_Codigo", item.EMPR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinSUCR_Codigo", item.SUCR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchCCOT_NumDoc", item.CCOT_NumDoc, SqlDbType.VarChar, 20, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintCCOT_NumPadre", item.CCOT_NumPadre, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinCCOT_TipoPadre", item.CCOT_TipoPadre, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinCCOT_Version", item.CCOT_Version, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pbitCCOT_Propia", item.CCOT_Propia, SqlDbType.Bit, 1, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodCliente", item.ENTC_CodCliente, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodTransportista", item.ENTC_CodTransportista, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodBroker", item.ENTC_CodBroker, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodAgente", item.ENTC_CodAgente, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodCustomer", item.ENTC_CodCustomer, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodEjecutivo", item.ENTC_CodEjecutivo, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintCCOT_NumPresupuesto", item.CCOT_NumPresupuesto, SqlDbType.Decimal, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pdtmCCOT_FecEmi", item.CCOT_FecEmi, SqlDbType.DateTime, 8, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pdtmCCOT_FecVcto", item.CCOT_FecVcto, SqlDbType.DateTime, 8, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pbitCCOT_ServicioLogistico", item.CCOT_ServicioLogistico, SqlDbType.Bit, 1, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pbitCCOT_VoBoGateIn", item.CCOT_VoBoGateIn, SqlDbType.Bit, 1, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pbitCCOT_CargaRefrigerada", item.CCOT_CargaRefrigerada, SqlDbType.Bit, 1, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pnumCCOT_Temperatura", item.CCOT_Temperatura, SqlDbType.Decimal, 12, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pbitCCOT_CargaPeligrosa", item.CCOT_CargaPeligrosa, SqlDbType.Bit, 1, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pbitCCOT_Roundtrip", item.CCOT_Roundtrip, SqlDbType.Bit, 1, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchCCOT_Observaciones", item.CCOT_Observaciones, SqlDbType.VarChar, 1024, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pdtmCCOT_FecCierre", item.CCOT_FecCierre, SqlDbType.DateTime, 8, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinCCOT_Almacenaje", item.CCOT_Almacenaje, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinCCOT_SobreEstadia", item.CCOT_SobreEstadia, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinCCOT_TiempoViaje", item.CCOT_TiempoViaje, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@psinCCOT_ValidezOferta", item.CCOT_ValidezOferta, SqlDbType.SmallInt, 2, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_TabINC", item.TIPO_TabINC, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_CodINC", item.TIPO_CodINC, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_TabImo", item.TIPO_TabImo, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_CodImo", item.TIPO_CodImo, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchCCOT_ImoUN", item.CCOT_ImoUN, SqlDbType.VarChar, 20, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintCONT_Codigo", item.CONT_Codigo, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_TabRGM", item.CONS_TabRGM, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_CodRGM", item.CONS_CodRGM, SqlDbType.Char, 3, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_TabVia", item.CONS_TabVia, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_CodVia", item.CONS_CodVia, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_TabFLE", item.CONS_TabFLE, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_CodFLE", item.CONS_CodFLE, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_TabEST", item.CONS_TabEST, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_CodEST", item.CONS_CodEST, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintPUER_CodDestino", item.PUER_CodDestino, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintPUER_CodTrasbordo", item.PUER_CodTrasbordo, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintPUER_CodOrigen", item.PUER_CodOrigen, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchCCOT_UsrAprueba", item.CCOT_UsrAprueba, SqlDbType.VarChar, 20, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pdtmCCOT_FecAprueba", item.CCOT_FecAprueba, SqlDbType.DateTime, 8, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchCCOT_UsrAceptaRechaza", item.CCOT_UsrAceptaRechaza, SqlDbType.VarChar, 20, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pdtmCCOT_FecAceptaRechaza", item.CCOT_FecAceptaRechaza, SqlDbType.DateTime, 8, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_TabMOT", item.TIPO_TabMOT, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_CodMOT", item.TIPO_CodMOT, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodShipper", item.ENTC_CodShipper, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodConsignee", item.ENTC_CodConsignee, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodNotify", item.ENTC_CodNotify, SqlDbType.Int, 4, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_TabTFT", item.CONS_TabTFT, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_CodTFT", item.CONS_CodTFT, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pdtmCCOT_FecTarifa", item.CCOT_FecTarifa, SqlDbType.DateTime, 8, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCCOT_PagoMBL", item.CCOT_PagoMBL, SqlDbType.Char, 1, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCCOT_PagoHBL", item.CCOT_PagoHBL, SqlDbType.Char, 1, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_TabMND", item.TIPO_TabMND, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_CodMND", item.TIPO_CodMND, SqlDbType.Char, 3, ParameterDirection.Input);

                    //DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_TabDTM", item.TIPO_TabDTM, SqlDbType.Char, 3, ParameterDirection.Input);
                    //DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_CodDTM", item.TIPO_CodDTM, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchDOOV_Cntr", item.DOOV_Cntr, SqlDbType.VarChar, 250, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrDOOV_HBL", item.DOOV_HBL, SqlDbType.VarChar, 50, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrDOOV_MBL", item.DOOV_MBL, SqlDbType.VarChar, 50, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchDDOV_NroBooking", item.DDOV_NroBooking, SqlDbType.VarChar, 50, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pdtmDDOV_FecRecBooking", item.DDOV_FecRecBooking, SqlDbType.DateTime, 8, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pdtmDDOV_FecEmbarque", item.DDOV_FecEmbarque, SqlDbType.DateTime, 8, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintENTC_CodDepTemporal", item.ENTC_CodDepTemporal, SqlDbType.Int, 4, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchDOOV_CodReferencia", item.DOOV_CodReferencia, SqlDbType.Char, 50, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pintNVIA_Codigo", item.NVIA_Codigo, SqlDbType.Int, 4, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchDOOV_Feeder_IMPO", item.DOOV_Feeder_IMPO, SqlDbType.VarChar, 100, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pdtmDOOV_FecETDFeeder_IMPO", item.DOOV_FecETDFeeder_IMPO, SqlDbType.DateTime, 8, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pbitDDOV_HBLNieto", item.DDOV_HBLNieto, SqlDbType.Bit, 1, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pbitCCOT_ServicioTransmision", item.CCOT_ServicioTransmision, SqlDbType.Bit, 1, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_TabTRF", item.TIPO_TabTRF, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrTIPO_CodTRF", item.TIPO_CodTRF, SqlDbType.Char, 3, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pbitCCOT_EnviaAvisoLlegada", item.CCOT_EnviaAvisoLlegada, SqlDbType.Bit, 1, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_TabLNG", item.CONS_TabLNG, SqlDbType.Char, 3, ParameterDirection.Input);
                    DataAccessEnterpriseSQL.DAAgregarParametro("@pchrCONS_CodLNG", item.CONS_CodLNG, SqlDbType.Char, 3, ParameterDirection.Input);

                    DataAccessEnterpriseSQL.DAAgregarParametro("@pvchAUDI_UsrCrea", item.AUDI_UsrCrea, SqlDbType.VarChar, 20, ParameterDirection.Input);

                    if (DataAccessEnterpriseSQL.DAExecuteNonQuery() > 0)
                    {
                        Int32 _CCOT_Numero;
                        if (Int32.TryParse(DataAccessEnterpriseSQL.DASqlCommand.Parameters["@pintCCOT_Numero"].Value.ToString(), out _CCOT_Numero))
                        {
                            item.CCOT_Numero = _CCOT_Numero;
                        }
                        Int16 _CCOT_Tipo;
                        if (Int16.TryParse(DataAccessEnterpriseSQL.DASqlCommand.Parameters["@psinCCOT_Tipo"].Value.ToString(), out _CCOT_Tipo))
                        {
                            item.CCOT_Tipo = _CCOT_Tipo;
                        }
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
Beispiel #17
0
        public Cab_Cotizacion_OV SavePrefacturados(ref Cab_Cotizacion_OV Item, ref String CCOT_MensajeError)
        {
            Boolean m_isCorrect = true;
            Boolean m_isAdded   = true;
            String  m_usuario   = "";

            try
            {
                Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DABeginTransaction();
                switch (Item.Instance)
                {
                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added:
                    break;

                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified:
                    m_isAdded = false;
                    m_usuario = Item.AUDI_UsrMod;
                    break;

                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted:

                default:
                    break;
                }

                if (m_isCorrect)
                {
                    for (int indexServicio = 0; indexServicio < Item.ItemsServicio.Count; indexServicio++)
                    {
                        Det_Cotizacion_OV_Servicio _itemServicio = Item.ItemsServicio[indexServicio];
                        _itemServicio.CCOT_Tipo   = Item.CCOT_Tipo;
                        _itemServicio.CCOT_Numero = Item.CCOT_Numero;
                        m_isCorrect = BL_Det_Cotizacion_OV_Servicio.Save(ref _itemServicio, false);
                        if (!m_isCorrect)
                        {
                            break;
                        }
                    }
                }
                if (m_isCorrect)
                {
                    Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DACommitTransaction();

                    if (Item.EMPR_Codigo.HasValue && Item.SUCR_Codigo.HasValue)
                    {
                        return(GetOne(Item.EMPR_Codigo.Value, Item.SUCR_Codigo.Value, Item.CCOT_Numero, Item.CCOT_Tipo));
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction(); return(null);
                }
            }
            catch (Exception)
            { Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction(); throw; }
            return(null);
        }
        public void GenerarEventosTareas(String Observacion_Evento, String Codigo_Evento, Cab_Cotizacion_OV oItem)
        {
            try
            {
                //ItemsEventosTareas = new ObservableCollection<Det_Cotizacion_OV_EventosTareas>();
                //int pos = 1;
                //Int32 _CCOT_NumActual = 0;

                //if (DT_OV != null && DT_OV.Rows.Count > 0)
                //{
                //    foreach (System.Data.DataRow drOV in DT_OV.Rows)
                //    {
                //        if ((Convert.ToInt32(drOV["CCOT_Numero"])) != _CCOT_NumActual)
                //        {
                //            _CCOT_NumActual = (Convert.ToInt32(drOV["CCOT_Numero"]));

                ItemEventoTarea                    = new Det_Cotizacion_OV_EventosTareas();
                ItemEventoTarea.CCOT_Numero        = oItem.CCOT_Numero;
                ItemEventoTarea.CCOT_Tipo          = oItem.CCOT_Tipo;
                ItemEventoTarea.EVEN_Fecha         = DateTime.Now;
                ItemEventoTarea.EVEN_Cumplida      = true;
                ItemEventoTarea.EVEN_Usuario       = Session.UserName;
                ItemEventoTarea.EVEN_Observaciones = Observacion_Evento;
                ItemEventoTarea.TIPO_TabEVE        = "EVE";
                ItemEventoTarea.TIPO_CodEVE        = Codigo_Evento;
                if (ListConstantesMOD != null && ListConstantesMOD.Count > 0 && ListConstantesMOD.First() != null)
                {
                    ItemEventoTarea.CONS_TabMOD = ListConstantesMOD.First().CONS_CodTabla;
                    ItemEventoTarea.CONS_CodMOD = ListConstantesMOD.First().CONS_CodTipo;
                }
                ItemEventoTarea.EVEN_Manual = false;

                ItemEventoTarea.AUDI_UsrCrea = Session.UserName;
                ItemEventoTarea.AUDI_FecCrea = Session.Fecha;

                ItemEventoTarea.Instance = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added;
                Client.SaveDet_Cotizacion_OV_EventosTareas(ItemEventoTarea);
                // ItemsEventosTareas.Add(ItemEventoTarea);
                //        }
                //        else
                //        { _CCOT_NumActual = (Convert.ToInt32(drOV["CCOT_Numero"])); }
                //        if (DT_OV.Rows.Count == pos)
                //        {
                //            if ((Client.SaveDet_Cotizacion_OV_EventosTareas(ItemsEventosTareas)))
                //            {
                //                //Infrastructure.WinForms.Controls.Dialogos.MostrarMensajeInformacion(Title, "Se han Generado Eventos");
                //            }
                //        }
                //        pos++;
                //    }
                //}
                //else
                //{ Infrastructure.WinForms.Controls.Dialogos.MostrarMensajeInformacion(Title, "No hay Ordenes de venta para generar eventos."); }
            }
            catch (Exception ex)
            {
                Infrastructure.WinForms.Controls.Dialogos.MostrarMensajeError(Title, "Error al momento de generar Eventos", ex);
            }
        }
        public Boolean EnviarNovedades(Int16 EMPR_Codigo, Int16 SUCR_Codigo, Int16 CCOT_Tipo, Int32 CCOT_Numero, String Usuario)
        {
            try
            {
                Cab_Cotizacion_OV Item = Client.GetOneCab_Cotizacion_OV(EMPR_Codigo, SUCR_Codigo, CCOT_Numero, CCOT_Tipo);
                ObservableCollection <Det_Cotizacion_OV_Novedad> _listNovedades = Client.GetAllDet_Cotizacion_OV_NovedadByCab_Cotizacion_OV(CCOT_Numero, CCOT_Tipo).Where(ovno => !ovno.OVNO_Email.HasValue || (ovno.OVNO_Email.HasValue && !ovno.OVNO_Email.Value)).OrderByDescending(ovno => ovno.OVNO_Fecha).ToObservableCollection();

                //SmtpMailCS _mail = new SmtpMailCS();

                String _mailToCliente = "";
                if (!String.IsNullOrEmpty(Item.ENTC_EmailCliente) && Infrastructure.Aspect.ValidationRules.ValidarMail.ValidarE_Mail(Item.ENTC_EmailCliente))
                {
                    _mailToCliente = Item.ENTC_EmailCliente;
                }

                String _mailToContacto = "";
                if (!String.IsNullOrEmpty(Item.ENTC_EmailContacto) && Infrastructure.Aspect.ValidationRules.ValidarMail.ValidarE_Mail(Item.ENTC_EmailContacto))
                {
                    _mailToContacto = Item.ENTC_EmailContacto;
                }

                String _mailToNotify = "";
                if (!String.IsNullOrEmpty(Item.ENTC_EmailNotify) && Infrastructure.Aspect.ValidationRules.ValidarMail.ValidarE_Mail(Item.ENTC_EmailNotify))
                {
                    _mailToNotify = Item.ENTC_EmailNotify;
                }

                String _mailToCustomer = "";
                if (!String.IsNullOrEmpty(Item.ENTC_EmailCustomer) && Infrastructure.Aspect.ValidationRules.ValidarMail.ValidarE_Mail(Item.ENTC_EmailCustomer))
                {
                    _mailToCustomer = Item.ENTC_EmailCustomer;
                }

                String _mailAsunto = String.Format("Novedades Sobre Carga, Orden Venta Nro. {0}", Item.CCOT_NumDocVersion);

                String _mailMensaje = "";
                Infrastructure.Aspect.DefaultData.DataInfo _mes = Infrastructure.Aspect.DefaultData.DefaultData.GetMeses().Where(mes => mes.Codigo == DateTime.Now.Month.ToString("00")).FirstOrDefault();
                _mailMensaje += String.Format("Lima, {0} de {1} del {2}", DateTime.Now.Day.ToString(), (_mes != null ? _mes.Nombre : ""), DateTime.Now.Year.ToString()) + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += String.Format("No. Interno: {0}", Item.CCOT_NumDoc) + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += "Señores:" + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += Item.ENTC_NomCliente + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += "Estimado cliente:" + Environment.NewLine;
                _mailMensaje += "Confirmamos que hemos contactado a su proveedor y nos ha informado lo siguiente con respecto a su:" + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += "DATOS DE EMBARQUE" + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += "Origen             : " + Item.PUER_NombreOrigen + Environment.NewLine;
                _mailMensaje += "Destino            : " + Item.PUER_NombreOrigen + Environment.NewLine;
                _mailMensaje += "Proveedor          : " + Item.ENTC_NomShipper + Environment.NewLine;
                _mailMensaje += "Modo               : " + Item.CONS_DescRGM + Environment.NewLine;
                _mailMensaje += "Agente             : " + Item.ENTC_NomAgente + Environment.NewLine;
                _mailMensaje += "Bultos             : " + (Item.DCOT_Bultos.HasValue ? Item.DCOT_Bultos.ToString() : "") + Environment.NewLine;
                _mailMensaje += "Contenedor         : " + (Item.DCOT_Cantidad.HasValue ? Item.DCOT_Cantidad.ToString() + "x" : "") + Item.PACK_DescC + Environment.NewLine;
                _mailMensaje += "Referencia Cliente : " + Item.DOOV_CodReferencia + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += "DATOS NOVEDADES" + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                foreach (Det_Cotizacion_OV_Novedad itemNovedad in _listNovedades)
                {
                    _mailMensaje += (itemNovedad.OVNO_Fecha.HasValue ? itemNovedad.OVNO_Fecha.Value.ToString("dd/MM/yyyy") : "") + Environment.NewLine;
                    _mailMensaje += itemNovedad.OVNO_Descrip + Environment.NewLine;
                }

                _mailMensaje += Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += "En caso de cualquier información adicional, no duden en contactarnos." + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += "Saludos Cordiales," + Environment.NewLine;
                _mailMensaje += Environment.NewLine;
                _mailMensaje += Item.ENTC_NomCustomer + Environment.NewLine;
                _mailMensaje += "E-mail: " + Item.ENTC_EmailCustomer + Environment.NewLine;
                _mailMensaje += "Tel:" + Item.ENTC_Tel1Customer + Environment.NewLine;
                _mailMensaje += "Cel:" + Item.ENTC_Tel2Customer + Environment.NewLine;
                _mailMensaje += "CALLE ANTEQUERA 777 - PISO 12, SAN ISIDRO" + Environment.NewLine;
                _mailMensaje += "CUSTOMER SERVICES IMPORTACIONES" + Environment.NewLine;

                try
                {
                    MailMessage _message = new MailMessage();

                    if (!String.IsNullOrEmpty(_mailToCliente))
                    {
                        _message.To.Add(_mailToCliente);
                    }
                    if (!String.IsNullOrEmpty(_mailToContacto))
                    {
                        _message.To.Add(_mailToContacto);
                    }
                    if (!String.IsNullOrEmpty(_mailToNotify))
                    {
                        _message.To.Add(_mailToNotify);
                    }
                    if (!String.IsNullOrEmpty(_mailToCustomer))
                    {
                        _message.To.Add(_mailToCustomer);
                    }

                    _message.Subject  = _mailAsunto;
                    _message.Body     = _mailMensaje;
                    _message.Priority = MailPriority.Normal;

                    SendMail(_message);

                    for (int i = 0; i < _listNovedades.Count; i++)
                    {
                        Det_Cotizacion_OV_Novedad itemNovedad = _listNovedades[i];

                        itemNovedad.OVNO_Email  = true;
                        itemNovedad.AUDI_UsrMod = Usuario;
                        itemNovedad.AUDI_FecMod = DateTime.Now;
                        itemNovedad.Instance    = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified;

                        Client.SaveDet_Cotizacion_OV_Novedad(itemNovedad);
                    }

                    return(true);
                }
                catch (Exception)
                { return(false); }
            }
            catch (Exception)
            { throw; }
        }
        private Boolean EnviarEmailCotizacion(Cab_Cotizacion_OV Item, Boolean isAdded)
        {
            try
            {
                //Item = Client.GetOneCab_Cotizacion_OV(Item.EMPR_Codigo.Value, Item.SUCR_Codigo.Value, Item.CCOT_Numero, Item.CCOT_Tipo);

                var BL_Usuario = ContainerService.Resolve <NextAdmin.BusinessLogic.IBLUsuarios>();

                NextAdmin.BusinessLogic.Usuarios _usuarioCotizacion = null;
                NextAdmin.BusinessLogic.Usuarios _usuarioAprobacion = null;

                //Boolean m_isAdded = (Item.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added);

                if (isAdded)
                {
                    _usuarioCotizacion = BL_Usuario.GetOneByCodUsr(Item.AUDI_UsrCrea);
                }
                else
                {
                    _usuarioCotizacion = BL_Usuario.GetOneByCodUsr(Item.AUDI_UsrMod);
                }

                Int32 _nivel = Client.GetOneCab_Cotizacion_OVNivelAprobacion(Item.EMPR_Codigo.Value, Item.SUCR_Codigo.Value, Item.CCOT_Tipo, Item.CCOT_Numero);

                ObservableCollection <Parametros> _listParametros = Client.GetAllParametros();

                Parametros _parametro = null;
                switch (_nivel)
                {
                case 2:
                    _parametro = _listParametros.Where(para => para.PARA_Clave == "USRAPRUEBANIVEL1_JV").FirstOrDefault();
                    if (_parametro != null && !String.IsNullOrEmpty(_parametro.PARA_Valor))
                    {
                        _usuarioAprobacion = BL_Usuario.GetOneByCodUsr(_parametro.PARA_Valor);
                    }
                    break;

                case 3:
                    _parametro = _listParametros.Where(para => para.PARA_Clave == "USRAPRUEBANIVEL2_GC").FirstOrDefault();
                    if (_parametro != null && !String.IsNullOrEmpty(_parametro.PARA_Valor))
                    {
                        _usuarioAprobacion = BL_Usuario.GetOneByCodUsr(_parametro.PARA_Valor);
                    }
                    break;

                case 4:
                    _parametro = _listParametros.Where(para => para.PARA_Clave == "USRAPRUEBANIVEL3_GG").FirstOrDefault();
                    if (_parametro != null && !String.IsNullOrEmpty(_parametro.PARA_Valor))
                    {
                        _usuarioAprobacion = BL_Usuario.GetOneByCodUsr(_parametro.PARA_Valor);
                    }
                    break;

                default:
                    break;
                }

                if (_usuarioAprobacion != null && _usuarioCotizacion != null)
                {
                    MailMessage _message = new MailMessage();

                    String _mailAsunto  = String.Format("Aprobar Cotización Nro. {0} del Cliente {1}", Item.CCOT_NumDocVersion, Item.ENTC_NomCliente);
                    String _mailMensaje = String.Format("Aprobar Cotización Nro. {0} del Cliente {1}", Item.CCOT_NumDocVersion, Item.ENTC_NomCliente);

                    if (!String.IsNullOrEmpty(_usuarioAprobacion.USUA_Email) || !String.IsNullOrEmpty(_usuarioCotizacion.USUA_Email))
                    {
                        if (!String.IsNullOrEmpty(_usuarioAprobacion.USUA_Email))
                        {
                            _message.To.Add(_usuarioAprobacion.USUA_Email);
                        }
                        if (!String.IsNullOrEmpty(_usuarioCotizacion.USUA_Email))
                        {
                            _message.To.Add(_usuarioCotizacion.USUA_Email);
                        }

                        _message.Subject  = _mailAsunto;
                        _message.Body     = _mailMensaje;
                        _message.Priority = MailPriority.Normal;

                        SendMail(_message);
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception)
            { throw; }
        }