Пример #1
0
        private void AlterarDestinatario_Click(object sender, EventArgs e)
        {
            List <Destinatarios> destinatarios = ListaDestinatarios();

            if (destinatarios.All(
                    d => d.email != dtgDestinatarios.Rows[dtgDestinatarios.SelectedRows[0].Index].Cells[1].Value.ToString()))
            {
                Destinatarios d = new Destinatarios();
                d.id    = int.Parse(dtgDestinatarios.Rows[dtgDestinatarios.SelectedRows[0].Index].Cells[0].Value.ToString());
                d.email = dtgDestinatarios.Rows[dtgDestinatarios.SelectedRows[0].Index].Cells[1].Value.ToString();
                bool retorno = EditarDestinatario(d);
                if (retorno)
                {
                    MessageBox.Show("Destinatário alterado com sucesso!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.None);
                }
                else
                {
                    MessageBox.Show("Ocorreu um erro ao tentar alterar destinatário.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Destinatário já existente", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Пример #2
0
        public Destinatarios DestinatariosGrid()
        {
            Destinatarios userse = new Destinatarios();
            string connectionString = UtilSh.strCnn2; //System.Configuration.ConfigurationManager.ConnectionStrings["cnnSql2"].ToString();
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                using (SqlCommand command = new SqlCommand())
                {
                    command.Connection = connection;
                    command.CommandText = "Exec dbo.DestinatariosGrid";
                    command.CommandType = CommandType.Text;
                    connection.Open();

                    using (SqlDataReader dataReader = command.ExecuteReader())
                    {
                        DestinyDTO user;
                        while (dataReader.Read())
                        {
                            user = new DestinyDTO();//Creación de un nuevo objeto del tipo de nuestro DTO en donde cargaremos toda la información proveniente de nuestro comando de DB, discriminando cada elemento con 'request'
                            user.ID = Convert.ToInt32(dataReader["ID"]);
                            user.Admin = Convert.ToString(dataReader["Admin"]);
                            user.Vice = Convert.ToString(dataReader["Vice"]);
                            userse.Add(user);
                        }
                    }

                    //Convert.ToInt32(paramTotalRecords.Value);
                }
            }
            return userse;
        }
Пример #3
0
 private void ClosedCmd_Execute()
 {
     NotaFiscal = null;
     Produto    = new ProdutoVO();
     ProdutosCombo.Clear();
     Destinatarios.Clear();
 }
Пример #4
0
        private void DestinatarioChangedCmd_Execute(DestinatarioModel destSelecionado)
        {
            if (destSelecionado == null)
            {
                return;
            }

            destSelecionado.IsNFe = true;
            destSelecionado.ValidateModel();
            int destIndex = Destinatarios.IndexOf(destSelecionado);

            if (destIndex == -1)
            {
                return;
            }

            if (destSelecionado.HasErrors)
            {
                _destinatarioViewModel.AlterarDestinatario(destSelecionado);

                destSelecionado.ValidateModel();
                if (destSelecionado.HasErrors)
                {
                    Destinatarios.RemoveAt(destIndex);
                    Destinatarios.Insert(destIndex, destSelecionado);
                }
            }
        }
Пример #5
0
 private void LlenaCampos(Destinatarios destinatarios)
 {
     DestinatarioIdTextBox.Text = destinatarios.DestinatarioId.ToString();
     FechaTextBox.Text          = destinatarios.Fecha.ToString();
     NombreTextBox.Text         = destinatarios.Nombre.ToString();
     DireccionTextBox.Text      = destinatarios.Direccion.ToString();
     TotalTextBox.Text          = destinatarios.Total.ToString();
 }
Пример #6
0
 private void DestinatarioVM_DestinatarioSalvoEvent(DestinatarioModel destinatarioParaSalvar)
 {
     if (NotaFiscal != null)
     {
         Destinatarios.Add(destinatarioParaSalvar);
         NotaFiscal.DestinatarioSelecionado = destinatarioParaSalvar;
     }
 }
        public List <string> GetArrayDestinatarios()
        {
            var separador = ConfigurationManager.AppSettings["SeparadorDeCorreos"].ToString();

            return(Destinatarios
                   .Split(new string[] { separador }, StringSplitOptions.RemoveEmptyEntries)
                   .ToList());
        }
Пример #8
0
        private Destinatarios LlenaClase(Destinatarios Dest)
        {
            Dest.DestinatarioId = Util.ToInt(DestinatarioIdTextBox.Text);
            Dest.Fecha          = Convert.ToDateTime(FechaTextBox.Text).Date;
            Dest.Nombre         = NombreTextBox.Text;
            Dest.Direccion      = DireccionTextBox.Text;
            Dest.Total          = Util.ToInt(TotalTextBox.Text);

            return(Dest);
        }
Пример #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            fechaTextBox.Text = DateTime.Now.ToString("yyyy-MM-dd");
            Cartas cuenta = new Cartas();

            if (!Page.IsPostBack)
            {
                LlenarCombos();
                ViewState["Destinatario"] = new Destinatarios();
            }
        }
        private async void PopularListaDestinatarios()
        {
            Destinatarios.Clear();

            var destinatariosDB = await _destinatarioService.GetAllAsync();

            foreach (var dest in destinatariosDB)
            {
                Destinatarios.Add((DestinatarioModel)dest);
            }
        }
        private Destinatarios LlenaClase()
        {
            Destinatarios destinatario = new Destinatarios();

            destinatario.DestinatarioID = Utils.ToInt(DestinatarioIDTextBox.Text);
            destinatario.Fecha          = Utilitarios.Utils.ToDateTime(FechaTextBox.Text);
            destinatario.Nombre         = NombresTextBox.Text;
            destinatario.Cantidad       = Utils.ToInt(CartasEnviadasTextBox.Text);

            return(destinatario);
        }
Пример #12
0
        protected void BuscarLinkButton_Click(object sender, EventArgs e)
        {
            BLL.RepositorioBase <Destinatarios> repositorio = new BLL.RepositorioBase <Destinatarios>();
            Destinatarios destinatarios = repositorio.Buscar(Util.ToInt(DestinatarioIdTextBox.Text));

            if (destinatarios != null)
            {
                LlenaCampos(destinatarios);
            }
            else
            {
                Util.ShowToastr(this, "No Existe en la Base de datos", "Error", "error");
            }
        }
Пример #13
0
        public static List <Destinatarios> ListaDestinatarios()
        {
            try
            {
                List <Destinatarios> destinatarios = new List <Destinatarios>();
                var path        = Environment.CurrentDirectory + "\\Destinatarios.xml";
                var stream      = new MemoryStream();
                var xmlDocument = new XmlDocument();
                var cspParams   = new CspParameters();

                cspParams.KeyContainerName = "Destinatarios";
                var rsaKey = new RSACryptoServiceProvider(cspParams);

                xmlDocument.PreserveWhitespace = true;
                xmlDocument.Load(path);

                Crypto.Decrypt(xmlDocument, rsaKey, "rsaKey");

                xmlDocument.Save(stream);
                stream.Flush();
                stream.Position = 0;

                XDocument xml = XDocument.Load(stream);

                foreach (XElement x in xml.Element("Destinatarios").Elements())
                {
                    Destinatarios d = new Destinatarios()
                    {
                        id    = int.Parse(x.Attribute("Id").Value),
                        email = x.Attribute("Email").Value
                    };
                    destinatarios.Add(d);
                }
                return(destinatarios);
            }
            catch (Exception er)
            {
                VO.LogErro logErro = new VO.LogErro();
                logErro.crg          = 0;
                logErro.descricao    = "Erro ao tentar listar destinatários";
                logErro.data         = DateTime.Now;
                logErro.maisDetalhes = er.Message;
                LogErroDAO.inserirLogErro(logErro, 0);

                return(new List <Destinatarios>());
            }
        }
        public static DestinatarioResponse Map(Destinatarios item)
        {
            DestinatarioResponse response = new DestinatarioResponse();

            response.Id = item.Id;
            response.NombreDeUsuario           = item.NombreDeUsuario;
            response.IdSucursal                = item.IdSucursal;
            response.DescripcionSucursal       = item.DescripcionSucursal;
            response.IdSector                  = item.IdSector;
            response.DescripcionSector         = item.DescripcionSector;
            response.IdBandeja                 = item.IdBandeja;
            response.DescripcionBandeja        = item.DescripcionBandeja;
            response.IdCentroDeCostos          = item.IdCentroDeCostos;
            response.DescripcionCentroDeCostos = item.DescripcionCentroDeCostos;

            return(response);
        }
Пример #15
0
        private void LoadedCmd_Execute(string modelo)
        {
            NotaFiscal = new NFCeModel();

            if (modelo != null && modelo.Equals("55"))
            {
                _modelo = Modelo.Modelo55;
                NotaFiscal.IsImpressaoBobina = false;
            }
            else
            {
                _modelo = Modelo.Modelo65;
            }

            NotaFiscal.DestinatarioSelecionado = new DestinatarioModel();
            Pagamento = new PagamentoVO();
            Pagamento.FormaPagamento = "Dinheiro";

            var config = _configuracaoService.GetConfiguracao();

            NotaFiscal.Serie      = config.IsProducao ? config.SerieNFCe : config.SerieNFCeHom;
            NotaFiscal.Numero     = config.IsProducao ? config.ProximoNumNFCe : config.ProximoNumNFCeHom;
            NotaFiscal.ModeloNota = "NFC-e";

            NotaFiscal.DataEmissao       = DateTime.Now;
            NotaFiscal.HoraEmissao       = DateTime.Now;
            NotaFiscal.DataSaida         = DateTime.Now;
            NotaFiscal.HoraSaida         = DateTime.Now;
            NotaFiscal.IndicadorPresenca = PresencaComprador.Presencial;
            NotaFiscal.Finalidade        = "Normal";

            var produtos = _produtoService.GetProdutosByNaturezaOperacao("Venda");

            foreach (var produto in produtos)
            {
                ProdutosCombo.Add(produto);
            }

            var destinatarios = _destinatarioService.GetAll();

            foreach (var destDB in destinatarios)
            {
                Destinatarios.Add((DestinatarioModel)destDB);
            }
        }
Пример #16
0
 public void fillDestinatarios()
 {
     if (Destinatarios == null)
     {
         Destinatarios = new Dictionary <int, string>();
     }
     Destinatarios.Clear();
     Destinatarios.Add(1, "*****@*****.**");
     Destinatarios.Add(2, "*****@*****.**");
     Destinatarios.Add(3, "*****@*****.**");
     Destinatarios.Add(4, "*****@*****.**");
     Destinatarios.Add(5, "*****@*****.**");
     Destinatarios.Add(6, "*****@*****.**");
     Destinatarios.Add(7, "*****@*****.**");
     Destinatarios.Add(8, "*****@*****.**");
     Destinatarios.Add(9, "*****@*****.**");
     Destinatarios.Add(10, "*****@*****.**");
     Destinatarios.Add(11, "*****@*****.**");
     Destinatarios.Add(12, "*****@*****.**");
 }
        protected void BtnGuardar_Click(object sender, EventArgs e)
        {
            RepositorioBase <Destinatarios> repositorio = new RepositorioBase <Destinatarios>();
            Destinatarios destinatario = new Destinatarios();

            bool paso = false;

            destinatario = LlenaClase();

            int id = Utils.ToInt(DestinatarioIDTextBox.Text);

            if (id == 0)
            {
                paso = repositorio.Guardar(destinatario);
                Utils.ShowToastr(this, "Guardado", "Exito", "success");
            }
            else
            {
                RepositorioBase <Destinatarios> repository = new RepositorioBase <Destinatarios>();
                int ids = Utils.ToInt(DestinatarioIDTextBox.Text);
                destinatario = repository.Buscar(ids);
                if (destinatario != null)
                {
                    paso = repositorio.Modificar(LlenaClase());
                    Utils.ShowToastr(this, "Modificado", "Exito", "success");
                }
                else
                {
                    Utils.ShowToastr(this, "No existe", "Error", "error");
                }
            }

            if (paso)
            {
                Limpiar();
            }
            else
            {
                Utils.ShowToastr(this, "No se pudo guardar", "Error", "error");
            }
        }
Пример #18
0
        protected void GuadarButton_Click(object sender, EventArgs e)
        {
            BLL.RepositorioBase <Destinatarios> repositorio = new BLL.RepositorioBase <Destinatarios>();
            Destinatarios destinatarios = new Destinatarios();
            bool          paso          = false;


            LlenaClase(destinatarios);

            if (IsValid)
            {
                if (destinatarios.DestinatarioId == 0)
                {
                    if (paso = repositorio.Guardar(destinatarios))
                    {
                        Util.ShowToastr(this, "saved successfully", "Success", "success");
                        Limpiar();
                    }

                    else
                    {
                        Util.ShowToastr(this, "Error al Guardar", "Error", "error");
                    }
                }

                else
                {
                    if (paso = repositorio.Modificar(destinatarios))
                    {
                        Util.ShowToastr(this, "Modificado  successfully", "Success", "success");
                        Limpiar();
                    }
                    else
                    {
                        Util.ShowToastr(this, "Error al Modificar", "Error", "error");
                    }
                }
            }
        }
Пример #19
0
        public JsonResult Guardar(string nroSeguimiento, Proveedores proveedores, Destinatarios destinatario, Sectores sector, Direcciones direccion,
                                  Canalizaciones canalizacion, string nroRemito, string nroOrdenCompra,
                                  int tipoProducto, bool escaneoPieza, bool imprimirEtiqueta, int idArchivo, string observacion,
                                  string IdRemitente, string IdDireccionRemitente, string IdSectorRemitente, string IdSucursalRemitente)
        {
            BL.BLRecepcion blRecepcion = new BL.BLRecepcion();

            BL.GuardarRecepcionRequest data = new BL.GuardarRecepcionRequest();

            data.NroSeguimiento   = nroSeguimiento;
            data.EscaneoSeguridad = escaneoPieza;
            data.Canalizacion     = canalizacion;
            data.IdArchivo        = idArchivo;
            data.IdTipoProducto   = tipoProducto;
            data.IdUsuario        = Helper.SecurityHelper.GetLogin(Session).IdUsuario;

            data.IdProveedor             = proveedores.Id;
            data.NroRemitoProveedor      = nroRemito;
            data.NroOrdenCompraProveedor = nroOrdenCompra;
            data.RazonSocialProveedor    = proveedores.RazonSocial;
            data.CuitProveedor           = proveedores.Cuit;

            data.IdDestinatario          = destinatario.Id;
            data.IdDireccionDestinatario = direccion.Id;
            data.IdSectorDestinatario    = sector.Id;
            data.IdSucursalDestinatario  = destinatario.IdSucursal;

            data.IdRemitente          = IdRemitente;
            data.IdDireccionRemitente = IdDireccionRemitente;
            data.IdSectorRemitente    = IdSectorRemitente;
            data.IdSucursalRemitente  = IdSucursalRemitente;

            data.Observacion = observacion;

            var response = blRecepcion.Guardar(data);

            return(Json(response));
        }
Пример #20
0
        public EmailModel LoadData(EmailModel email)
        {
            #region ler-credenciais

            string _lineCred = "";

            StreamReader fileCred = new StreamReader("_root.txt");

            try{
                while ((_lineCred = fileCred.ReadLine()) != null)
                {
                    var _tempCred = _lineCred.Split(';');

                    if (_tempCred.Length != 5)
                    {
                        throw new Exception("Erro ao ler credenciais de root: Parametros inválidos (" + _lineCred.Count() + ")");
                    }

                    /* + Layout
                     *      + Email de credencial
                     *      + Password
                     *      + HostName de origem
                     *      + Email de envio
                     *      + Nome de origem
                     */

                    email.Credenciais.EmailEnvio = _tempCred[0].ToString();
                    email.Credenciais.Password   = _tempCred[1].ToString();
                    email.HostName                  = _tempCred[2].ToString();
                    email.Remetente.Email           = _tempCred[3].ToString();
                    email.Remetente.DsNomeRemetente = _tempCred[4].ToString();
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler credenciais de root: " + ex.Message);
            }

            fileCred.Close();

            #endregion ler-credenciais

            #region ler-destinatarios

            int    _countDest = 0;
            string _lineDest  = "";

            StreamReader fileDest = new StreamReader("_EmailDest.txt");
            try
            {
                while ((_lineDest = fileDest.ReadLine()) != null)
                {
                    Destinatarios dest = new Destinatarios();

                    _countDest++;

                    dest.Email   = _lineDest.ToString();
                    dest.IdEmail = _countDest;

                    email.Destinatarios.Add(dest);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo: " + "(_EmailDest.txt)" + ex.Message);
            }

            fileDest.Close();

            #endregion ler-destinatarios

            #region ler_destinatarios-copia

            int    _countDestCopy = 0;
            string _lineDestCopy  = "";

            StreamReader fileDestCopy = new StreamReader("_EmailDestCopy.txt");

            try
            {
                while ((_lineDestCopy = fileDestCopy.ReadLine()) != null)
                {
                    Destinatarios destCopy = new Destinatarios();

                    _countDestCopy++;

                    destCopy.Email   = _lineDestCopy.ToString();
                    destCopy.IdEmail = _countDestCopy;

                    email.DestinatariosCopia.Add(destCopy);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo: (_EmailDestCopy.txt)" + ex.Message);
            }

            fileDestCopy.Close();

            #endregion ler_destinatarios-copia

            #region ler-titulo-body

            string _lineTitleBody = "";
            int    _aux           = 0;

            StreamReader fileTitleBody = new StreamReader("_TitleBody.txt");

            try
            {
                while ((_lineTitleBody = fileTitleBody.ReadLine()) != null)
                {
                    if (_aux == 0)
                    {
                        _aux         = 1;
                        email.Titulo = _lineTitleBody.ToString();
                    }
                    else
                    {
                        email.BodyMail.Add(_lineTitleBody.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo: (_TitleBody.txt) " + ex.Message);
            }

            #endregion ler-titulo-body

            #region ler-anexos

            int    _countAnexo = 0;
            string _lineAnexo  = "";

            StreamReader fileAnexo = new StreamReader("_anexo.txt");

            try
            {
                while ((_lineAnexo = fileAnexo.ReadLine()) != null)
                {
                    AnexoModel tempAnexo = new AnexoModel();

                    _countAnexo++;

                    tempAnexo.CaminhoAnexo = _lineAnexo.ToString();
                    tempAnexo.ContAnexo    = _countAnexo;

                    email.Anexo.Add(tempAnexo);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo: (_anexo.txt) " + ex.Message);
            }
            fileAnexo.Close();

            #endregion ler-anexos

            return(email);
        }
Пример #21
0
        public static bool EditarDestinatario(Destinatarios destinatario)
        {
            string path      = Environment.CurrentDirectory + "\\Destinatarios.xml";
            var    cspParams = new CspParameters();

            cspParams.KeyContainerName = "Destinatarios";
            var rsaKey = new RSACryptoServiceProvider(cspParams);

            try
            {
                var stream      = new MemoryStream();
                var xmlDocument = new XmlDocument();

                xmlDocument.PreserveWhitespace = true;
                xmlDocument.Load(path);

                Crypto.Decrypt(xmlDocument, rsaKey, "rsaKey");

                xmlDocument.Save(stream);
                stream.Flush();
                stream.Position = 0;

                XDocument xml      = XDocument.Load(stream);
                var       elements = xml.XPathSelectElements("Destinatarios/Destinatarios");
                foreach (var xElement in elements)
                {
                    if (xElement.FirstAttribute.Value == destinatario.id.ToString())
                    {
                        xElement.LastAttribute.Value = destinatario.email;
                    }
                }
                xml.Save(path);
                return(true);
            }
            catch (Exception er)
            {
                VO.LogErro logErro = new VO.LogErro();
                logErro.crg          = 0;
                logErro.descricao    = "Erro ao tentar editar destinatário";
                logErro.data         = DateTime.Now;
                logErro.maisDetalhes = er.Message;
                LogErroDAO.inserirLogErro(logErro, 0);

                return(false);
            }
            finally
            {
                var xmlDoc = new XmlDocument();

                try
                {
                    xmlDoc.PreserveWhitespace = true;
                    xmlDoc.Load(path);
                }
                catch (Exception er)
                {
                    Console.WriteLine(er.Message);
                }

                try
                {
                    Crypto.Encrypt(xmlDoc, "Destinatarios", "Destinatario", rsaKey, "rsaKey");
                    xmlDoc.Save(path);
                }
                catch (Exception er)
                {
                    VO.LogErro logErro = new VO.LogErro();
                    logErro.crg          = 0;
                    logErro.descricao    = "Erro ao tentar encriptografar Destinatarios";
                    logErro.data         = DateTime.Now;
                    logErro.maisDetalhes = er.Message;
                    LogErroDAO.inserirLogErro(logErro, 0);
                }
            }
        }
Пример #22
0
        private void LoadedCmd_Execute(string modelo)
        {
            NotaFiscal = new NFeModel();

            if (modelo != null && modelo.Equals("55"))
            {
                _modelo = Modelo.Modelo55;
                NotaFiscal.IsImpressaoBobina = false;
            }
            else
            {
                _modelo = Modelo.Modelo65;
            }

            NotaFiscal.DestinatarioSelecionado = new DestinatarioModel();
            Pagamento = new PagamentoVO();
            Pagamento.FormaPagamento = "Dinheiro";

            var config = _configuracaoService.GetConfiguracao();

            NotaFiscal.Serie      = config.IsProducao ? config.SerieNFe : config.SerieNFeHom;
            NotaFiscal.Numero     = config.IsProducao ? config.ProximoNumNFe : config.ProximoNumNFeHom;
            NotaFiscal.ModeloNota = "NF-e";

            NotaFiscal.DataEmissao       = DateTime.Now;
            NotaFiscal.HoraEmissao       = DateTime.Now;
            NotaFiscal.DataSaida         = DateTime.Now;
            NotaFiscal.HoraSaida         = DateTime.Now;
            NotaFiscal.IndicadorPresenca = PresencaComprador.Presencial;
            NotaFiscal.Finalidade        = "Normal";

            if (Destinatarios.Count <= 0)
            {
                var destinatarios = _destinatarioService.GetAll();

                foreach (var destDB in destinatarios)
                {
                    Destinatarios.Add((DestinatarioModel)destDB);
                }
            }

            if (Transportadoras.Count <= 0)
            {
                var transportadoras = _transportadoraService.GetAll();

                foreach (var transpDB in transportadoras)
                {
                    Transportadoras.Add((TransportadoraModel)transpDB);
                }
            }

            if (NaturezasOperacoes.Count <= 0)
            {
                var naturezasDB = _naturezaOperacaoService.GetAll();

                foreach (var naturezaDB in naturezasDB)
                {
                    var natModel = new NaturezaOperacaoModel()
                    {
                        Id = naturezaDB.Id, Descricao = naturezaDB.Descricao
                    };
                    NaturezasOperacoes.Add(natModel);

                    if (natModel.Descricao.Equals(DEFAULT_NATUREZA_OPERACAO))
                    {
                        NaturezaOperacaoSelecionada = natModel;
                    }
                }
            }
            else
            {
                NaturezaOperacaoSelecionada = NaturezasOperacoes.FirstOrDefault(n => n.Descricao.Equals(DEFAULT_NATUREZA_OPERACAO));
            }
        }
Пример #23
0
        public GenericResponse <RecepcionResponse> Guardar(GuardarRecepcionRequest data)
        {
            GenericResponse <RecepcionResponse> response = new GenericResponse <RecepcionResponse>();

            try
            {
                response.Code = 200;

                Database db = new Database();

                Pedidos ingreso = new Pedidos();
                ingreso.CodigoBarra      = data.NroSeguimiento;
                ingreso.IdDestinatario   = data.IdDestinatario;
                ingreso.EscaneoDePieza   = data.EscaneoSeguridad;
                ingreso.ImprimirEtiqueta = data.ImprimirEtiqueta;

                ingreso.Estado           = Constants.Pedidos.ID_INGRESADO;
                ingreso.EstadoFecha      = DateTime.Now;
                ingreso.EstadoPor        = data.IdUsuario;
                ingreso.FechaImposicion  = DateTime.Now;
                ingreso.IdSector         = data.IdSectorDestinatario;
                ingreso.IdDireccion      = data.IdDireccionDestinatario;
                ingreso.IdProveedor      = data.IdProveedor;
                ingreso.IdCanalizacion   = data.Canalizacion.Id;
                ingreso.IdTipoDeProducto = data.IdTipoProducto;
                ingreso.NroRemito        = data.NroRemitoProveedor;
                ingreso.NroSeguimiento   = data.NroSeguimiento;
                ingreso.Observacion      = data.Observacion;
                ingreso.NroOrdeDeCompra  = data.NroOrdenCompraProveedor;
                ingreso.UsuarioCreador   = data.IdUsuario;


                if (string.IsNullOrEmpty(data.IdRemitente))
                {
                    data.IdRemitente = ConfigurationManager.AppSettings["ID_USUARIO_REMITENTE_MESA"];
                    Destinatarios usuarioRemitente = db.Destinatarios.Where(x => x.Id == data.IdRemitente).FirstOrDefault();

                    data.IdSectorRemitente    = usuarioRemitente.IdSector;
                    data.IdSucursalRemitente  = usuarioRemitente.IdSucursal;
                    data.IdDireccionRemitente = usuarioRemitente.IdBandeja;
                }

                ingreso.IdRemitente          = (string.IsNullOrEmpty(data.IdRemitente) ? "-" : data.IdRemitente);
                ingreso.IdSectorRemitente    = (string.IsNullOrEmpty(data.IdSectorRemitente) ? "-" : data.IdSectorRemitente);
                ingreso.IdSucursalRemitente  = (string.IsNullOrEmpty(data.IdSucursalRemitente) ? "-" : data.IdSucursalRemitente);
                ingreso.IdDireccionRemitente = (string.IsNullOrEmpty(data.IdDireccionRemitente) ? "-" : data.IdDireccionRemitente);

                if (data.IdArchivo != 0)
                {
                    Archivos archivo = db.Archivos.First(x => x.Id == data.IdArchivo);
                    ingreso.Archivos.Add(archivo);
                }



                if (data.Canalizacion.Id != ConfigurationManager.AppSettings["ID_CANALIZACION_RETIRA_COLABORADOR"] &&
                    data.Canalizacion.Id != ConfigurationManager.AppSettings["ID_CANALIZACION_RETIRA_TERCERO"] &&
                    data.Canalizacion.Id != ConfigurationManager.AppSettings["ID_CANALIZACION_RETIRA_LABORAL"])
                {
                    WSExterno.OCASA wsocasa = new WSExterno.OCASA();

                    ImponerWSRequest dataRequest = new ImponerWSRequest();

                    dataRequest.NroSeguimiento = data.NroSeguimiento;
                    dataRequest.Fecha          = DateTime.Now.ToString("dd/MM/yyyy");
                    dataRequest.TipoProducto   = data.IdTipoProducto.ToString();

                    dataRequest.Proveedor                = new ImponerWSRequest.ImponerProveedorWSRequest();
                    dataRequest.Proveedor.Id             = data.IdProveedor.ToString();
                    dataRequest.Proveedor.NroOrdenCompra = data.NroOrdenCompraProveedor;
                    dataRequest.Proveedor.NroRemito      = data.NroRemitoProveedor;
                    dataRequest.Proveedor.RazonSocial    = data.RazonSocialProveedor;
                    dataRequest.Proveedor.Cuit           = data.CuitProveedor;

                    dataRequest.Remitente          = new ImponerWSRequest.ImponerRemitenteWSRequest();
                    dataRequest.Remitente.Id       = data.IdRemitente;
                    dataRequest.Remitente.Sector   = data.IdSectorRemitente;
                    dataRequest.Remitente.Sucursal = data.IdSucursalRemitente;
                    dataRequest.Remitente.Bandeja  = data.IdDireccionRemitente;

                    dataRequest.Destinatario          = new ImponerWSRequest.ImponerDestinatarioWSRequest();
                    dataRequest.Destinatario.Id       = data.IdDestinatario;
                    dataRequest.Destinatario.Bandeja  = data.IdDireccionDestinatario;
                    dataRequest.Destinatario.Sector   = data.IdSectorDestinatario;
                    dataRequest.Destinatario.Sucursal = data.IdSucursalDestinatario;

                    dataRequest.Observacion  = data.Observacion;
                    dataRequest.Canalizacion = data.Canalizacion.Id.ToString();

                    WSLog wsExternos = wsocasa.Imponer(dataRequest);

                    ImponerWSResponse responseWs = ImponerWSResponse.Map(wsExternos.JSONResponse);

                    db.WSLog.Add(wsExternos);
                    db.SaveChanges();

                    if (wsExternos.Estado != "ERROR")
                    {
                        var codebar = responseWs.Pedidos[0].CodigoBarra;

                        if (string.IsNullOrEmpty(codebar))
                        {
                            codebar = ingreso.NroSeguimiento;
                        }

                        ingreso.CodigoBarra = codebar;
                    }

                    string jsonResponse = wsExternos.JSONResponse;
                }

                ingreso = db.Pedidos.Add(ingreso);
                db.SaveChanges();

                if (data.Canalizacion.Id == ConfigurationManager.AppSettings["ID_CANALIZACION_RETIRA_COLABORADOR"] ||
                    data.Canalizacion.Id == ConfigurationManager.AppSettings["ID_CANALIZACION_RETIRA_TERCERO"] ||
                    data.Canalizacion.Id == ConfigurationManager.AppSettings["ID_CANALIZACION_RETIRA_LABORAL"])
                {
                    Engresos egreso = new Engresos
                    {
                        Fecha = DateTime.Now
                    };
                    egreso = db.Engresos.Add(egreso);

                    db.SaveChanges();

                    EgresoPedidos egreped = new EgresoPedidos
                    {
                        IdEgreso = egreso.Id,
                        IdPedido = ingreso.Id
                    };

                    db.EgresoPedidos.Add(egreped);

                    ingreso.Estado      = Constants.Pedidos.ID_DISPONIBLE_PARA_RETIRO;
                    ingreso.EstadoFecha = DateTime.Now;
                    ingreso.EstadoPor   = data.IdUsuario;

                    ingreso.CodigoBarra = ingreso.Id.ToString().PadLeft(13, '0');

                    db.SaveChanges();
                }

                response.Result = new RecepcionResponse()
                {
                    NroSeguimiento = ingreso.NroSeguimiento, IdIngreso = ingreso.Id, CodigoBarra = ingreso.CodigoBarra
                };
            }
            catch (Exception ex)
            {
                response.Code  = 500;
                response.Error = ex.Message;

                var message      = ex.Message;
                var messageInner = ex.InnerException != null ? ex.InnerException.Message : "";

                DB.Database db2 = new DB.Database();
                db2.Log.Add(new DB.Log()
                {
                    Fecha = DateTime.Now, Ubicacion = UBICACION_LOG, Mensaje = message, Detalle = messageInner
                });

                db2.SaveChanges();
            }

            return(response);
        }