예제 #1
0
        public BaseResponse <string> updateTipoCambioSubasta(int subasta, decimal tipoCambio)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Subasta_Detalle detalle = null;
                        detalle = context.Tb_MD_Subasta_Detalle.FirstOrDefault(x => x.iIdSubastaDEtalle == subasta);
                        if (detalle == null)
                        {
                            throw new Exception("Error Nulll, hay un problema con la subasta.");
                        }

                        result.success = true;

                        if (detalle.vTipoDetalle == "V")
                        {
                            detalle.nValorCompra = tipoCambio;
                        }
                        else
                        {
                            detalle.nValorVenta = tipoCambio;
                        }
                        detalle.TipoCambio = tipoCambio;


                        context.SaveChanges();
                        transaction.Commit();
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaction.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;
                        result.ex      = ex;
                        transaction.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }
            return(result);
        }
예제 #2
0
        public BaseResponse <string> insertNewTiempo(TiempoRequest model)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Tiempos vtiempo = context.Tb_MD_Tiempos.Find(model.codigo);
                        if (vtiempo != null)
                        {
                            throw new Exception("Codigo ya existente,Ingrese otro codigo");
                        }

                        Tb_MD_Tiempos tiempo = new Tb_MD_Tiempos();
                        tiempo.vCodTransaccion = model.codigo;
                        tiempo.nTiempoStandar  = model.tiempoStandar;
                        tiempo.nTiempoPremiun  = model.tiempoPremiun;
                        tiempo.nTiempoVip      = model.tiempoVip;
                        tiempo.dFechaCreacion  = DateTime.Now;

                        tiempo.iEstadoRegistro = model.estado;
                        context.Tb_MD_Tiempos.Add(tiempo);

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #3
0
        public BaseResponse <string> CambioPasswordXCorreoAdmin(string secredId, string password)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        Guid sid = Guid.NewGuid();
                        try
                        {
                            sid = Guid.Parse(secredId);
                        }
                        catch (Exception)
                        {
                            throw new Exception("Ocurrio un error con el servicio, puede ser que su key de sesión no sea correcta.");
                        }

                        Tb_MD_RecuperarPassword recuperar = null;
                        recuperar = context.Tb_MD_RecuperarPassword.FirstOrDefault(x => x.SecredId == sid);

                        if (recuperar == null)
                        {
                            throw new Exception("La operacion que intenta realizar no cuenta con autorización para hacerla.");
                        }

                        Tb_MD_Mae_Usuarios usuario = null;
                        usuario = context.Tb_MD_Mae_Usuarios.FirstOrDefault(x => x.iIdUsuario == recuperar.IdUsuario);

                        if (usuario == null)
                        {
                            throw new Exception("No se encontro el usuario.");
                        }

                        string clave = Encrypt.EncryptKey(password);
                        usuario.vPassword = clave;

                        context.SaveChanges();
                        transaction.Commit();


                        result.success = true;
                    }
                    catch (Exception ex)
                    {
                        result.success = false;
                        result.error   = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                        transaction.Rollback();
                    }
                }
            }

            return(result);
        }
        public BaseResponse <string> insertNewTipoDocumento(TipoDocumentoRequest model)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_TipoDocumento tipo = context.Tb_MD_TipoDocumento.Find(model.codigo);
                        if (tipo != null)
                        {
                            throw new Exception("Codigo ya existente,Ingrese otro codigo");
                        }

                        Tb_MD_TipoDocumento tipodoc = new Tb_MD_TipoDocumento();
                        tipodoc.IdTipoDocumento = model.codigo;
                        tipodoc.Nombre          = model.nombre;
                        tipodoc.Tipo            = model.tipo;
                        tipodoc.EstadoRegistro  = model.estado;

                        context.Tb_MD_TipoDocumento.Add(tipodoc);

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #5
0
        public BaseResponse <string> EditarUbigeo(UbigeoRequest model)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Ubigeo ubigeo = context.Tb_MD_Ubigeo.Find(model.codigo);
                        if (ubigeo == null)
                        {
                            throw new Exception("Entidad Nula, Registro de Ubigeo no encontrado");
                        }

                        ubigeo.CodPais         = model.codigoPais;
                        ubigeo.CodDepartamento = model.codigoDepartamento;
                        ubigeo.CodProvincia    = model.codigoProvincia;
                        ubigeo.CodDistrito     = model.codigoDistrito;
                        ubigeo.iEstadoRegistro = model.estado;


                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #6
0
        public BaseResponse <string> EditarPerfil(PerfilRequest model, string usuarioDoc)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Perfiles perfil = context.Tb_MD_Perfiles.Find(model.codigo);
                        if (perfil == null)
                        {
                            throw new Exception("Entidad Nula, Cargo no encontrado");
                        }
                        //Tb_MD_Cargo cargo = new Tb_MD_Cargo();

                        perfil.NombrePerfil      = model.nombre;
                        perfil.EstadoRegistro    = model.estado;
                        perfil.FechaModificacion = DateTime.Now;
                        perfil.vUsuarioCreacion  = usuarioDoc;
                        //context.Tb_MD_Cargo.Add(cargo);

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #7
0
        public BaseResponse <string> sendCorreoRecuperarPasswordAdmin(string email)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        Guid               SecredId = Guid.NewGuid();
                        DateTime           ahora    = DateTime.Now;
                        Tb_MD_Mae_Usuarios usuario  = null;
                        usuario = context.Tb_MD_Mae_Usuarios.FirstOrDefault(x => x.vEstadoRegistro == EstadoRegistroTabla.Activo && x.vEmailUsuario.Equals(email));

                        Tb_MD_Per_Natural persona = null;
                        persona = context.Tb_MD_Per_Natural.FirstOrDefault(y => y.vNumDocumento == usuario.vNroDocumento);


                        if (usuario == null)
                        {
                            throw new Exception("No se encontro un cliente de LMD con este Email");
                        }

                        Tb_MD_RecuperarPassword entity = new Tb_MD_RecuperarPassword
                        {
                            Email           = usuario.vEmailUsuario,
                            FechaCreacion   = ahora,
                            FechaExpiracion = ahora.AddDays(1),
                            IdUsuario       = usuario.iIdUsuario,
                            SecredId        = SecredId,
                            TipoUsuario     = "CL"
                        };

                        context.Tb_MD_RecuperarPassword.Add(entity);
                        context.SaveChanges();
                        transaction.Commit();

                        result.success = true;
                        CorreoHelper.SedCorreoRecuperarContrasenhaAdmin(usuario.vEmailUsuario, SecredId.ToString(), persona.vNombre + " " + persona.vApellido + " " + persona.vApellidoMat);
                    }
                    catch (Exception ex)
                    {
                        result.success = false;
                        result.error   = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                        transaction.Rollback();
                    }
                }
            }

            return(result);
        }
예제 #8
0
        public BaseResponse <string> EditarTipoMoneda(TipoMonedaRequest model)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_TipoMoneda tipo = context.Tb_MD_TipoMoneda.Find(model.codigo);
                        if (tipo == null)
                        {
                            throw new Exception("Entidad Nula, Tipo de Moneda no encontrado");
                        }

                        tipo.vDesMoneda         = model.nombre;
                        tipo.vSimboloMoneda     = model.simbolo;
                        tipo.dFechaModificacion = DateTime.Now;
                        tipo.iEstadoRegistro    = model.estado;

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #9
0
        public BaseResponse <string> EliminarUsuario(UsuarioRequest model, string usuarioDoc)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Mae_Usuarios usuario = context.Tb_MD_Mae_Usuarios.Find(model.codigo);
                        if (usuario == null)
                        {
                            throw new Exception("Entidad Nula, Cargo no encontrado");
                        }


                        usuario.dFechaModificacion   = DateTime.Now;
                        usuario.vUsuarioModificacion = usuarioDoc;
                        usuario.vEstadoRegistro      = model.estado;
                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #10
0
        public BaseResponse <string> EliminarDepartamento(DepartamentoRequest model)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Departamento pais = context.Tb_MD_Departamento.Find(model.codigo);
                        if (pais == null)
                        {
                            throw new Exception("Entidad Nula, Departamento no encontrado");
                        }


                        pais.iEstadoRegistro = EstadoRegistroTabla.Eliminado;

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #11
0
        public BaseResponse <string> insertNewDepartamento(DepartamentoRequest model)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Departamento dep = new Tb_MD_Departamento();
                        //dep.IdDepartamento = model.codigo;
                        dep.Nombre          = model.nombre;
                        dep.idPais          = model.codigoPais;
                        dep.iEstadoRegistro = model.estado;
                        context.Tb_MD_Departamento.Add(dep);

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #12
0
        public BaseResponse <string> EditarUsuario(UsuarioRequest model, string usuarioDoc)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Per_Natural persona = null;
                        persona = context.Tb_MD_Per_Natural.FirstOrDefault(x => x.vNumDocumento.Equals(model.nroDocumento));
                        {
                            if (persona == null)
                            {
                                persona = new Tb_MD_Per_Natural();
                                persona.dFechaCreacion            = DateTime.Now;
                                persona.vTipoDocumento            = model.tipoDocumento;
                                persona.vNumDocumento             = model.nroDocumento;
                                persona.vNombre                   = model.nombre;
                                persona.vApellido                 = model.apellidoPat;
                                persona.vApellidoMat              = model.apellidoMat;
                                persona.vPreCelular               = model.prefijo;
                                persona.vTelefonoMovil            = model.celular;
                                persona.vMailContacto             = model.email;
                                persona.vEstadoRegistro           = EstadoRegistroTabla.Activo;
                                persona.vFlgExpuestoPoliticamente = "N";
                                context.Tb_MD_Per_Natural.Add(persona);
                            }
                        }

                        Tb_MD_Mae_Usuarios usuario = context.Tb_MD_Mae_Usuarios.Find(model.codigo);
                        if (usuario == null)
                        {
                            throw new Exception("Entidad Nula, Usuario no encontrado");
                        }
                        //Tb_MD_Cargo cargo = new Tb_MD_Cargo();

                        usuario.vEmailUsuario        = model.email;
                        usuario.vTipoUsuario         = model.tipoUsuario;
                        usuario.dFechaModificacion   = DateTime.Now;
                        usuario.vUsuarioModificacion = usuarioDoc;
                        usuario.vRucEmpresa          = model.rucEmpresa;
                        usuario.vNroDocumento        = model.nroDocumento;
                        usuario.vEstadoRegistro      = EstadoRegistroTabla.NoActivo;
                        //context.Tb_MD_Cargo.Add(cargo);

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #13
0
        public BaseResponse <string> updateDatosBasicosCurrentUser(PersonaNatutalRequest model, int clienteId)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        DateTime ahora = DateTime.Now;

                        Tb_MD_Clientes cliente = null;
                        cliente = context.Tb_MD_Clientes.FirstOrDefault(x => x.iIdCliente == clienteId);

                        Tb_MD_Pre_Clientes preCliente = null;

                        if (cliente.codigoModificacionDatos == null)
                        {
                            preCliente = new Tb_MD_Pre_Clientes();
                        }
                        else
                        {
                            preCliente = context.Tb_MD_Pre_Clientes.FirstOrDefault(x => x.idPreCliente == cliente.codigoModificacionDatos);
                        }

                        preCliente.vNombre                      = cliente.vNombre;
                        preCliente.vApellido                    = cliente.vApellido;
                        preCliente.iCodDepartamento             = model.departamento;
                        preCliente.iCodDistrito                 = model.distrito;
                        preCliente.NombreCliente                = cliente.NombreCliente;
                        preCliente.vTipoCliente                 = (int)cliente.vTipoCliente;
                        preCliente.vTipoDocumento               = cliente.vTipoDocumento;
                        preCliente.iEstadoNavegacion            = -1;
                        preCliente.envioValidacion              = true;
                        preCliente.EstadoValidacion             = "P";
                        preCliente.EstadoValidacion_Fideicomiso = "P";
                        preCliente.Seguimiento                  = SeguimientoRegistro.RegistroProcesoValidacion;

                        preCliente.dFechaEnvioValidacion = ahora;

                        if (cliente.codigoModificacionDatos == null)
                        {
                            preCliente.vNroDocumento   = cliente.vNroDocumento;
                            preCliente.SecretId        = Guid.NewGuid();
                            preCliente.vEstadoRegistro = -1;
                            preCliente.envioMSM        = true;
                            preCliente.dFechaCreacion  = ahora;
                            preCliente.vTipoRegistro   = TipoRegistroPreCliente.ModificacionDatosBasicos;

                            context.Tb_MD_Pre_Clientes.Add(preCliente);
                            context.SaveChanges();
                        }

                        Tb_MD_Per_Natural persona = null;
                        persona = context.Tb_MD_Per_Natural.FirstOrDefault(x => x.vNumDocumento.Equals(cliente.vNroDocumento));

                        Tb_MD_Pre_Per_Natural prePersona = null;
                        prePersona = context.Tb_MD_Pre_Per_Natural.FirstOrDefault(x => x.Id_Pre_Cliente == preCliente.idPreCliente);

                        bool nuevaPrePersona = false;

                        if (prePersona == null)
                        {
                            prePersona                 = new Tb_MD_Pre_Per_Natural();
                            nuevaPrePersona            = true;
                            prePersona.dFechaCreacion  = ahora;
                            prePersona.Id_Pre_Cliente  = preCliente.idPreCliente;
                            prePersona.vEstadoRegistro = EstadoRegistroTabla.Activo;
                        }

                        prePersona.vNumDocumento  = persona.vNumDocumento;
                        prePersona.vTipoDocumento = persona.vTipoDocumento;
                        prePersona.vNombre        = persona.vNombre;
                        prePersona.vApellido      = persona.vApellido;
                        prePersona.vApellidoMat   = persona.vApellidoMat;
                        prePersona.vMailContacto  = persona.vMailContacto;
                        prePersona.vPreCelular    = persona.vPreCelular;
                        prePersona.vTelefonoMovil = persona.vTelefonoMovil;

                        prePersona.vFechaNacimiento = new DateTime(model.fnAnio, model.fnMes, model.fnDia);

                        #region Direccion
                        prePersona.vIdPaisOrigen    = model.pais;
                        prePersona.iCodDepartamento = model.departamento;
                        prePersona.iCodProvincia    = model.provincia;
                        prePersona.iCodDistrito     = model.distrito;
                        prePersona.vDireccion       = model.direccion;
                        #endregion

                        prePersona.iOrigenFondos             = model.origenFondos;
                        prePersona.vFlgSituacionLaboral      = model.sictuacionLaboral;
                        prePersona.vFlgExpuestoPoliticamente = model.expuesto;
                        if (model.expuesto == "N")
                        {
                            prePersona.CargoExpuesto         = "";
                            prePersona.NombreEntidadExpuesto = "";
                        }
                        else
                        {
                            prePersona.CargoExpuesto         = model.cargoExpuesto;
                            prePersona.NombreEntidadExpuesto = model.entidadNombreExpuesto;
                        }


                        if (nuevaPrePersona)
                        {
                            context.Tb_MD_Pre_Per_Natural.Add(prePersona);
                        }

                        cliente.codigoModificacionDatos = preCliente.idPreCliente;

                        context.SaveChanges();
                        transaction.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaction.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;
                        //result.ex = ex;
                        transaction.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }



            return(result);
        }
예제 #14
0
        public BaseResponse <string> insertPerfilUsuario(List <UsuarioPerfilRequest> model)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        //Tb_MD_Mae_Usuarios usuariovalida = context.Tb_MD_Mae_Usuarios.Where(x => x.vEmailUsuario == model.email && x.vRucEmpresa == model.rucEmpresa).FirstOrDefault();
                        //if (usuariovalida != null)
                        //{
                        //    throw new Exception("Ya existe un usuario con el mismo correo en esa empresa");
                        //}
                        if (model.Count == 0)
                        {
                            throw new Exception("Debe Seleccionar un Perfil");
                        }

                        List <Tb_MD_PerfilUsuario> userPerfil = null;
                        int codigoUsuario = Convert.ToInt16(model.FirstOrDefault().codigoUsuario);
                        userPerfil = context.Tb_MD_PerfilUsuario.Where(x => x.IdUsuario == codigoUsuario).ToList();

                        if (userPerfil.Count > 0)
                        {
                            userPerfil.ForEach(x =>
                            {
                                x.iEstadoRegistro = EstadoRegistroTabla.Eliminado;
                            });
                        }

                        model.ForEach(x =>
                        {
                            Tb_MD_PerfilUsuario uservalida;
                            uservalida = context.Tb_MD_PerfilUsuario.Where(y => y.IdUsuario == x.codigoUsuario && y.IdPerfil == x.codigoPerfil).FirstOrDefault();

                            if (uservalida != null)
                            {
                                uservalida.iEstadoRegistro = EstadoRegistroTabla.Activo;
                            }

                            if (uservalida == null)
                            {
                                Tb_MD_PerfilUsuario usuarioPerfil = new Tb_MD_PerfilUsuario();
                                usuarioPerfil.IdUsuario           = x.codigoUsuario;
                                usuarioPerfil.IdPerfil            = x.codigoPerfil;
                                usuarioPerfil.iEstadoRegistro     = EstadoRegistroTabla.Activo;
                                context.Tb_MD_PerfilUsuario.Add(usuarioPerfil);
                            }
                        });


                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #15
0
        public BaseResponse <string> insertNewEntidadFinanciera(EntidadFinancieraRequest model, HttpPostedFile file)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Entidades_Financieras entidad = context.Tb_MD_Entidades_Financieras.Find(model.codigo);
                        if (entidad != null)
                        {
                            throw new Exception("Codigo ya existente,Ingrese otro codigo");
                        }
                        //"../../MesaDinero.Web/Content/images/bancos/"
                        string logo = "";
                        if (file != null)
                        {
                            //string proyectoruta = System.Web.HttpContext.Current.Server.MapPath("~/MesaDinero.Web/Content/images/bancos/");
                            //string rutaCorta = ConfigurationManager.AppSettings["RUTA_LOGO_BANCO"];
                            //string rutaRaiz =  System.Web.HttpContext.Current.Server.MapPath("~" + rutaCorta);

                            string rutaCorta    = ConfigurationManager.AppSettings["RUTA_LOGO_BANCO"];
                            string rutaRaiz     = ConfigurationManager.AppSettings["RUTA_RAIZ_BANCO"] + rutaCorta;
                            string rutaRaiz_web = ConfigurationManager.AppSettings["RUTA_RAIZ_WEB_BANCO"] + rutaCorta;


                            string nombreImagen = model.codigo.Trim();
                            string extension    = Path.GetExtension(file.FileName);

                            string rutaCompleta     = rutaRaiz + nombreImagen + extension;
                            string rutaCompleta_web = rutaRaiz_web + nombreImagen + extension;

                            logo = rutaCorta + nombreImagen + extension;
                            file.SaveAs(rutaCompleta);
                            file.SaveAs(rutaCompleta_web);
                        }

                        Tb_MD_Entidades_Financieras entidadFinanciera = new Tb_MD_Entidades_Financieras();
                        entidadFinanciera.vCodEntidad            = model.codigo.Trim();
                        entidadFinanciera.vDesEntidad            = model.nombre;
                        entidadFinanciera.vLogoEntidad           = logo;
                        entidadFinanciera.dFechaCreacion         = DateTime.Now;
                        entidadFinanciera.VTipo                  = model.tipo;
                        entidadFinanciera.vFormatoCCI            = model.formatoCCI;
                        entidadFinanciera.vFormatoCuentaBancaria = model.formatoCB;
                        entidadFinanciera.iEstadoRegistro        = model.estado;
                        context.Tb_MD_Entidades_Financieras.Add(entidadFinanciera);
                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #16
0
        public BaseResponse <string> guardarTipoCambioDiaPartner(List <TipoCambioGarantizadoPartner_Response> model, string empresa)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        List <Tb_MD_Tipo_Cambio_Garantizado> oldRegistros = new List <Tb_MD_Tipo_Cambio_Garantizado>();
                        oldRegistros = context.Tb_MD_Tipo_Cambio_Garantizado.Where(x => x.vNumDocPartner.Equals(empresa) && x.UltimoCambioGarantizado == true).ToList();
                        foreach (var o in oldRegistros)
                        {
                            o.UltimoCambioGarantizado = false;
                        }

                        DateTime fecha = DateTime.Now;
                        foreach (var m in model)
                        {
                            if (m.montoMaximo <= 0)
                            {
                                break;
                            }



                            Tb_MD_Tipo_Cambio_Garantizado tcambio = new Tb_MD_Tipo_Cambio_Garantizado();
                            tcambio.vNumDocPartner          = empresa;
                            tcambio.dFechaCreacion          = fecha;
                            tcambio.nRango1_n               = m.rango;
                            tcambio.nValorRangoMinimo       = m.montoMinimo;
                            tcambio.nValorRangoMaximo       = m.montoMaximo;
                            tcambio.vTipoMoneda             = m.moneda;
                            tcambio.nValorCompra            = m.tcCompra;
                            tcambio.nValorVenta             = m.tcVenta;
                            tcambio.UltimoCambioGarantizado = true;

                            context.Tb_MD_Tipo_Cambio_Garantizado.Add(tcambio);
                        }

                        context.SaveChanges();
                        transaction.Commit();
                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaction.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;
                        result.ex      = ex;
                        transaction.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #17
0
        public async Task <BaseResponse <string> > insertUsuario(UsuarioRequest model, string usuarioDoc)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Mae_Usuarios usuariovalida = context.Tb_MD_Mae_Usuarios.Where(x => x.vEmailUsuario == model.email && x.vRucEmpresa == model.rucEmpresa).FirstOrDefault();
                        if (usuariovalida != null)
                        {
                            throw new Exception("Ya existe un usuario con el mismo correo en esa empresa");
                        }
                        Tb_MD_Per_Natural persona = null;
                        persona = context.Tb_MD_Per_Natural.FirstOrDefault(x => x.vNumDocumento.Equals(model.nroDocumento));
                        {
                            if (persona == null)
                            {
                                persona = new Tb_MD_Per_Natural();
                                persona.dFechaCreacion            = DateTime.Now;
                                persona.vTipoDocumento            = model.tipoDocumento;
                                persona.vNumDocumento             = model.nroDocumento;
                                persona.vNombre                   = model.nombre;
                                persona.vApellido                 = model.apellidoPat;
                                persona.vApellidoMat              = model.apellidoMat;
                                persona.vPreCelular               = model.prefijo;
                                persona.vTelefonoMovil            = model.celular;
                                persona.vMailContacto             = model.email;
                                persona.vEstadoRegistro           = EstadoRegistroTabla.Activo;
                                persona.vFlgExpuestoPoliticamente = "N";
                                context.Tb_MD_Per_Natural.Add(persona);
                            }
                        }

                        Tb_MD_Mae_Usuarios usuario = new Tb_MD_Mae_Usuarios();
                        usuario.vEmailUsuario    = model.email;
                        usuario.vTipoUsuario     = model.tipoUsuario;
                        usuario.dFechaCreacion   = DateTime.Now;
                        usuario.vUsuarioCreacion = usuarioDoc;
                        usuario.SecretId         = Guid.NewGuid();
                        usuario.vRucEmpresa      = model.rucEmpresa;
                        usuario.vNroDocumento    = model.nroDocumento;
                        usuario.vEstadoRegistro  = EstadoRegistroTabla.NoActivo;
                        context.Tb_MD_Mae_Usuarios.Add(usuario);

                        string cliente = model.nombre + " " + model.apellidoPat + " " + model.apellidoMat;

                        bool resul = await CorreoHelper.SendCorreoRegistroAdmExitoso(usuario.vEmailUsuario, usuario.SecretId.ToString(), cliente);

                        if (resul == false)
                        {
                            throw new Exception("No se pudo enviar Correo, Revise su conexion");
                        }

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #18
0
        public BaseResponse <string> actualizarEstadoVerificado(List <SubastaRequest> model, string nombreusuario)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        if (model.Count == 0)
                        {
                            throw new Exception("Seleccione una Transaccion");
                        }

                        //string [] codigoTransaccion=model.idTransaccion.Split(',');

                        for (int i = 0; i < model.Count; i++)
                        {
                            Tb_MD_Subasta             entidad     = context.Tb_MD_Subasta.Find(Convert.ToInt16(model[i].idTransaccion));
                            Tb_MD_ClientesDatosBancos banco       = context.Tb_MD_ClientesDatosBancos.Find(entidad.cuentaBancoDestino);
                            Tb_MD_ClientesDatosBancos bancoOrigen = context.Tb_MD_ClientesDatosBancos.Find(entidad.cuentaBancoOrigen);
                            //Tb_MD_Pre_Clientes cliente = context.Tb_MD_Pre_Clientes.Find(entidad.IdCliente);
                            if (entidad == null)
                            {
                                throw new Exception("Codigo no exite");
                            }
                            entidad.vNumInsPago    = model[i].idPago;
                            entidad.vEstadoSubasta = model[i].estado;
                            context.SaveChanges();


                            /*Insertar a la tabla pagos*/
                            if (model[i].tipoValidacion != null && model[i].tipoValidacion != "")
                            {
                                int      idSubasta        = entidad.nNumeroSubasta;
                                DateTime fechaInformePago = DateTime.Now;

                                if (model[i].tipoValidacion.Trim() == "VO")
                                {
                                    /*ACTUALIZAR AHORA*/
                                    Tb_MD_Notificacion limpNot   = new Tb_MD_Notificacion();
                                    string             nrsubasta = entidad.nNumeroSubasta.ToString();
                                    limpNot = context.Tb_MD_Notificacion.Where(x => x.vNumeroSubasta == nrsubasta && x.vEstadoSubasta == EstadoSubasta.PagadaXCliente).FirstOrDefault();


                                    string estadoOperador = "";
                                    if (model[i].estado.Trim() == "G")
                                    {
                                        estadoOperador = "A";
                                        if (limpNot != null)
                                        {
                                            limpNot.Titulo = "Operación Verificada";
                                        }
                                    }
                                    else
                                    {
                                        estadoOperador = "O";
                                        if (limpNot != null)
                                        {
                                            limpNot.Titulo = "Operación Observada";
                                        }
                                    }
                                    /*ACTUALIZAR AHORA*/

                                    Tb_MD_Subasta_Pago subasta_pago_val = context.Tb_MD_Subasta_Pago.Find(idSubasta);

                                    if (subasta_pago_val == null)
                                    {
                                        Tb_MD_Subasta_Pago subasta_pago = new Tb_MD_Subasta_Pago();
                                        subasta_pago.nNumeroSubasta         = idSubasta;
                                        subasta_pago.vCodBancoCliente       = bancoOrigen.vBanco;
                                        subasta_pago.vNumeroCuenta          = bancoOrigen.vNroCuenta;
                                        subasta_pago.dFechaInformePago      = DateTime.Now;
                                        subasta_pago.vNumOperacionPago      = entidad.NroOperacionPago;
                                        subasta_pago.vTipoMonedaTransferida = entidad.vMonedaEnviaCliente;
                                        subasta_pago.nMontoTransferido      = entidad.nMontoEnviaCliente;
                                        //subasta_pago.vTipoPersona = cliente.vTipoCliente.ToString();
                                        //subasta_pago.vCodBancoFideicomiso = "";
                                        //subasta_pago.vNumeroCuentaFideicomiso = "";
                                        //subasta_pago.vNroDocumento = cliente.vNroDocumento;
                                        subasta_pago.iEstadoRegistro = EstadoRegistroTabla.Activo;
                                        context.Tb_MD_Subasta_Pago.Add(subasta_pago);
                                    }
                                    Tb_MD_Subasta_Pago subasta_pago_find = context.Tb_MD_Subasta_Pago.Find(idSubasta);

                                    if (subasta_pago_find != null)
                                    {
                                        subasta_pago_find.dFechaValidacionOperaciones      = fechaInformePago;
                                        subasta_pago_find.vNumDocValidaDepositoOperaciones = nombreusuario;
                                        subasta_pago_find.vEstadoValOperador = estadoOperador;
                                        context.SaveChanges();
                                    }
                                }

                                //if (model[i].tipoValidacion.Trim() == "VF")
                                //{
                                //    string estadoOperador = "";
                                //    if (model[i].estado.Trim() == "G")
                                //    {
                                //        estadoOperador = "A";
                                //    }
                                //    else
                                //    {
                                //        estadoOperador = "O";
                                //    }
                                //    Tb_MD_Subasta_Pago subasta_pago_find = context.Tb_MD_Subasta_Pago.Find(idSubasta);

                                //    if (subasta_pago_find != null)
                                //    {
                                //        subasta_pago_find.dFechaValidacionFideicomiso = fechaInformePago;
                                //        subasta_pago_find.vNumDocValidaDepositoFideicomiso = nombreusuario;
                                //        subasta_pago_find.vEstadoValFideicomiso = estadoOperador;
                                //        context.SaveChanges();
                                //    }

                                //}

                                if (model[i].tipoValidacion.Trim() == "EC")
                                {
                                    Tb_MD_Subasta_Pago subasta_pago_find = context.Tb_MD_Subasta_Pago.Find(idSubasta);

                                    if (subasta_pago_find != null)
                                    {
                                        subasta_pago_find.dFechaEnvioCorfid = DateTime.Now;
                                        context.SaveChanges();
                                    }
                                }

                                if (model[i].tipoValidacion.Trim() == "AP")
                                {
                                    Tb_MD_Subasta_Pago subasta_pago_find = context.Tb_MD_Subasta_Pago.Find(idSubasta);

                                    if (subasta_pago_find != null)
                                    {
                                        subasta_pago_find.dFechaInformeContravalor    = DateTime.Now;
                                        subasta_pago_find.vNumOpeBancoACliente        = model[i].idPago;
                                        subasta_pago_find.vObservacion                = model[i].observacion;
                                        subasta_pago_find.vCodBancoDestinoCliente     = banco.vBanco;
                                        subasta_pago_find.nMontoTransferidoACliente   = entidad.nMontiRecibeCliente;
                                        subasta_pago_find.vTipoMonedaDestinoCliente   = entidad.vMonedaRecibeCliente;
                                        subasta_pago_find.vNumeroCuentaDestinoCliente = banco.vNroCuenta;

                                        context.SaveChanges();

                                        /*Enviar Correo*/
                                        Tb_MD_Clientes cliente = context.Tb_MD_Clientes.Where(x => x.iIdCliente == entidad.IdCliente).FirstOrDefault();

                                        if (cliente != null)
                                        {
                                            string nombre = cliente.vNombre + " " + cliente.vApellido;
                                            string correo = cliente.vEmail;
                                            string monto  = String.Format("{0:###,###,###,##0.00##}", entidad.nMontiRecibeCliente);
                                            string moneda = entidad.vMonedaRecibeCliente.ToString().ToUpper();
                                            CorreoHelper.SendCorreoPagoCliente(correo, nombre, monto, moneda, entidad.SecredId.ToString());
                                            //if (respuesta == true) {

                                            //}

                                            Tb_MD_Notificacion limpNot   = new Tb_MD_Notificacion();
                                            string             nrsubasta = entidad.nNumeroSubasta.ToString();
                                            limpNot = context.Tb_MD_Notificacion.Where(x => x.vNumeroSubasta == nrsubasta && x.vEstadoSubasta == EstadoSubasta.PagadaXCliente).FirstOrDefault();
                                            if (limpNot != null)
                                            {
                                                limpNot.iEstadoRegistro = EstadoRegistroTabla.NoActivo;
                                            }

                                            Tb_MD_Notificacion notificacion = new Tb_MD_Notificacion();
                                            notificacion.IdUsuario       = "";
                                            notificacion.IdCliente       = cliente.iIdCliente;
                                            notificacion.Titulo          = "Envio de Pago";
                                            notificacion.Mensaje         = "Tu número de transaccion es: " + String.Format("{0:000000000}", entidad.nNumeroSubasta) + ". Se le deposito el tipo de cambio solicitado.";
                                            notificacion.Tipo            = 0;
                                            notificacion.vNumeroSubasta  = entidad.nNumeroSubasta.ToString();
                                            notificacion.vEstadoSubasta  = EstadoSubasta.PagadaALCliente;
                                            notificacion.Url             = "/Subasta/recibes/" + entidad.SecredId;
                                            notificacion.Fecha           = DateTime.Now.AddDays(1);
                                            notificacion.iEstadoRegistro = EstadoRegistroTabla.Activo;
                                            context.Tb_MD_Notificacion.Add(notificacion);
                                            context.SaveChanges();
                                        }
                                        else
                                        {
                                            throw new Exception("No se encontro Datos del Cliente");
                                        }
                                    }
                                }
                            }
                        }

                        //Tb_MD_Subasta_Pago



                        transaccion.Commit();
                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #19
0
        public List <ExportFiles> generarTxt(string transacciones, int usuarioId)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        List <ExportFiles> lista = new List <ExportFiles>();

                        if (transacciones == null || transacciones == "")
                        {
                            throw new Exception("Seleccione una Transaccion");
                        }

                        #region Parametros
                        var tranParam = new SqlParameter {
                            ParameterName = "transaccion", Value = transacciones
                        };
                        #endregion
                        List <ListaGenerarFormatoTxtResponse> listaOperaciones = new List <ListaGenerarFormatoTxtResponse>();

                        listaOperaciones = context.Database.SqlQuery <ListaGenerarFormatoTxtResponse>("exec Proc_Sel_Subasta_Generar_Txt @transaccion", tranParam).ToList <ListaGenerarFormatoTxtResponse>();

                        //Agrupacion por banco
                        var grupo = listaOperaciones.GroupBy(x => x.codigoBancoDestino).Select(gr => gr.ToList()).ToList();

                        grupo.ForEach(listaBanco => {
                            //Agrupacion por Moneda
                            listaBanco.GroupBy(y => y.tipoMoneda).Select(gm => gm.ToList()).ToList().ForEach(operacion => {
                                //Recorrido por item
                                operacion.ToList().ForEach(item =>
                                {
                                    using (MemoryStream ms = new MemoryStream())
                                    {
                                        using (StreamWriter archivo = new StreamWriter(ms))
                                        {
                                            string tipoPersona    = "";
                                            string moneda         = "";
                                            string enidadBancaria = "";
                                            string texto          = "";
                                            if (item.tipoCliente == 1)
                                            {
                                                tipoPersona = "Persona";
                                            }
                                            else
                                            {
                                                tipoPersona = "Empresa";
                                            }
                                            texto         += "Numero de Operacion: " + item.idTransaccion + "\r\n";
                                            texto         += "Banco: " + item.bancoDestino.ToUpper() + "\r\n";
                                            texto         += "Tipo de Cuenta: " + item.tipoCuenta.ToUpper() + "\r\n";
                                            texto         += "Nro de Cuenta: " + item.cuentaDestino + "\r\n";
                                            texto         += "Moneda: " + item.tipoMoneda.ToUpper() + "\r\n";
                                            texto         += "Monto: " + item.monto + "\r\n";
                                            texto         += "Tipo de persona: " + tipoPersona.ToUpper() + "\r\n";
                                            texto         += "Nombre: " + item.usuario.ToUpper() + "\r\n";
                                            texto         += "Tipo Documento: " + item.tipoDocu + "\r\n";
                                            texto         += "Nro Documento: " + item.nroDocu;
                                            moneda         = item.tipoMoneda;
                                            enidadBancaria = item.bancoDestino;


                                            result.other = texto;

                                            archivo.WriteLine(texto);
                                            archivo.Flush();
                                            archivo.Close();
                                            string dia      = DateTime.Now.Day.ToString();
                                            string mes      = DateTime.Now.Month.ToString();
                                            string hora     = DateTime.Now.Hour.ToString();
                                            string min      = DateTime.Now.Minute.ToString();
                                            string transacc = String.Format("{0:000000000}", item.idTransaccion);

                                            if (dia.Trim().Length == 1)
                                            {
                                                dia = "0" + dia;
                                            }
                                            if (mes.Trim().Length == 1)
                                            {
                                                mes = "0" + mes;
                                            }
                                            if (hora.Trim().Length == 1)
                                            {
                                                hora = "0" + hora;
                                            }
                                            if (min.Trim().Length == 1)
                                            {
                                                min = "0" + min;
                                            }

                                            string NombreArchivo = enidadBancaria.ToUpper() + "-" + moneda.ToUpper() + "-" + transacc + "-" + dia + "-" + mes + "-" + DateTime.Now.Year.ToString();
                                            //+"-" + hora + "" + min + "" + DateTime.Now.Second.ToString() + "" + DateTime.Now.Millisecond.ToString();

                                            ExportFiles files = new ExportFiles();
                                            files.Name        = NombreArchivo;
                                            files.Extension   = "txt";
                                            files.FileBytes   = ms.ToArray();
                                            lista.Add(files);

                                            Tb_MD_Documentos documento = new Tb_MD_Documentos();
                                            documento.vNombre          = NombreArchivo;
                                            documento.vExtension       = files.Extension;
                                            documento.vArchivo         = files.FileBytes;
                                            documento.vTipo            = "OP";
                                            documento.iEstadoRegistro  = EstadoRegistroTabla.Activo;

                                            context.Tb_MD_Documentos.Add(documento);
                                            context.SaveChanges();

                                            Tb_MD_DocOrdenPagoSubasta orden = new Tb_MD_DocOrdenPagoSubasta();
                                            orden.nNumeroSubasta            = item.idTransaccion;
                                            orden.dFechaRegistro            = DateTime.Now;
                                            orden.vGeneradoPor    = usuarioId;
                                            orden.iEstadoRegistro = Convert.ToInt16(EstadoRegistroTabla.Activo);

                                            documento.Tb_MD_DocOrdenPagoSubasta.Add(orden);

                                            context.SaveChanges();
                                        }
                                    }      //-
                                });
                            });
                        });


                        transaccion.Commit();
                        result.success = true;
                        return(lista);
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(new List <ExportFiles>());
        }
예제 #20
0
        public BaseResponse <string> updateCuentasBancarias(List <CuentaBancariaClienteResponse> model, int clienteId)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Pre_Clientes cliente = null;
                        cliente = context.Tb_MD_Pre_Clientes.FirstOrDefault(x => x.idPreCliente == clienteId);
                        if (cliente == null)
                        {
                            throw new Exception(ErroresValidacion.ClienteNoExiste);
                        }

                        List <CuentaBancariaClienteResponse> inserts = new List <CuentaBancariaClienteResponse>();
                        inserts = model.Where(x => x.codigo == 0 && x.estado == 1).ToList();

                        foreach (var i in inserts)
                        {
                            Tb_MD_ClientesDatosBancos cuenta = new Tb_MD_ClientesDatosBancos();
                            cuenta.vBanco          = i.banco;
                            cuenta.vMoneda         = i.moneda;
                            cuenta.vNroCuenta      = i.nroCuenta;
                            cuenta.vCCI            = i.nroCCI;
                            cuenta.iTipoCuenta     = i.tipoCuenta;
                            cuenta.vEstadoRegistro = EstadoRegistroTabla.Activo;
                            cuenta.dFechaCreacion  = DateTime.Now;
                            cuenta.vSecredId       = Guid.NewGuid();
                            cuenta.iIdCliente      = clienteId;
                            cuenta.vTipoPersona    = cliente.vTipoCliente;
                            cuenta.vNroDocumento   = cliente.vNroDocumento;

                            context.Tb_MD_ClientesDatosBancos.Add(cuenta);
                        }

                        List <Tb_MD_ClientesDatosBancos> cuentas = new List <Tb_MD_ClientesDatosBancos>();
                        cuentas = context.Tb_MD_ClientesDatosBancos.Where(x => x.iIdCliente == clienteId && x.vEstadoRegistro == EstadoRegistroTabla.Activo).ToList();

                        foreach (var c in cuentas)
                        {
                            CuentaBancariaClienteResponse u = null; u = model.Where(x => x.codigo == c.iIdDatosBank).FirstOrDefault();
                            if (u != null)
                            {
                                c.vEstadoRegistro = u.estado;
                            }
                        }

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;
                        //result.ex = ex;
                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }