public IHttpActionResult PostSolicitudIngreso([FromBody] SolicitudIngresoModel solicitudIngreso)
        {
            if (solicitudIngreso == null || solicitudIngreso.IdUsuario == 0 || string.IsNullOrEmpty(solicitudIngreso.IdentificadorDistribuidora))
            {
                return(BadRequest("faltan datos"));
            }

            List <Distribuidora> resultadoDistribuidora;

            Negocio.Administracion.Distribuidora boDistribuidora = new Negocio.Administracion.Distribuidora();
            boDistribuidora.ObtenerDistribuidora(new FiltroDistribuidora()
            {
                Identificador = solicitudIngreso.IdentificadorDistribuidora
            }, out resultadoDistribuidora);

            if (resultadoDistribuidora != null)
            {
                List <UsuarioDistribuidora> relacion;
                Negocio.Administracion.UsuarioDistribuidora boUsuarioDistribuidora = new Negocio.Administracion.UsuarioDistribuidora();
                int idUsuario       = solicitudIngreso.IdUsuario;
                int idDistribuidora = resultadoDistribuidora[0].Id;
                boUsuarioDistribuidora.ObtenerUsuarioDistribuidora(new FiltroUsuarioDistribuidora {
                    IdUsuario = idUsuario, IdDistribuidora = idDistribuidora
                }, out relacion);

                if (relacion == null)
                {
                    var nuevaRelacion = new UsuarioDistribuidora()
                    {
                        AceptaUsuario = true, IdUsuario = idUsuario, IdDistribuidora = idDistribuidora, FechaCreacion = DateTime.Now, EsNuevo = true
                    };
                    boUsuarioDistribuidora.GuardarUsuarioDistribuidora(new List <UsuarioDistribuidora> {
                        nuevaRelacion
                    });
                    return(Ok());
                }
                else
                {
                    if (relacion[0].AceptaDistribuidora)
                    {
                        return(BadRequest("relacion ya existe"));
                    }
                    else
                    {
                        return(BadRequest("relacion pendiente de aprobación"));
                    }
                }
            }
            else
            {
                return(BadRequest("distribuidora no existe"));
            }
        }
        public void VinculacionUsuarioDistribuidora(Entidad.UsuarioDistribuidora usuarioDistribuidora)
        {
            Negocio.Administracion.Usuario              boUsuario       = new Negocio.Administracion.Usuario();
            Negocio.Administracion.Distribuidora        boDistribuidora = new Negocio.Administracion.Distribuidora();
            Negocio.Administracion.UsuarioDistribuidora boUD            = new Negocio.Administracion.UsuarioDistribuidora();

            if (usuarioDistribuidora.Usuario?.Id == 0)
            {
                List <Entidad.Usuario> usuarios;
                boUsuario.ObtenerUsuario(new Entidad.FiltroUsuario()
                {
                    Cedula = usuarioDistribuidora.Usuario.Cedula
                }, out usuarios);
                usuarioDistribuidora.IdUsuario = usuarios.FirstOrDefault().Id;
            }

            if (usuarioDistribuidora.Distribuidora?.Id == 0)
            {
                List <Entidad.Distribuidora> distribuidoras;
                boDistribuidora.ObtenerDistribuidora(new Entidad.FiltroDistribuidora()
                {
                    Identificador = usuarioDistribuidora.Distribuidora.Identificador
                }, out distribuidoras);
                usuarioDistribuidora.IdDistribuidora = distribuidoras.FirstOrDefault().Id;
            }

            usuarioDistribuidora.FechaCreacion = DateTime.Now;
            usuarioDistribuidora.EsNuevo       = true;

            if (usuarioDistribuidora.AceptaUsuario && usuarioDistribuidora.AceptaDistribuidora)
            {
                usuarioDistribuidora.FechaAceptacion = DateTime.Now;
            }

            boUD.GuardarUsuarioDistribuidora(new List <Entidad.UsuarioDistribuidora> {
                usuarioDistribuidora
            });
        }
示例#3
0
        public IHttpActionResult PostDistribuidora([FromBody] Distribuidora distribuidora)
        {
            if (distribuidora == null || string.IsNullOrEmpty(distribuidora.Identificador) || distribuidora.UsuarioDistribuidora == null)
            {
                return(BadRequest("Objeto distribuidora vacio"));
            }
            List <Distribuidora> listaDistribuidoraRetornar;

            Negocio.Administracion.Distribuidora boDistribuidora = new Negocio.Administracion.Distribuidora();
            boDistribuidora.ObtenerDistribuidora(new FiltroDistribuidora()
            {
                Identificador = distribuidora.Identificador
            }, out listaDistribuidoraRetornar);

            if (listaDistribuidoraRetornar?.Count == 0)
            {
                distribuidora.FechaRegistro = DateTime.Now;
                distribuidora.EsNuevo       = true;
                if (distribuidora.UsuarioDistribuidora?.Count > 0)
                {
                    distribuidora.UsuarioDistribuidora.ToList().ForEach(f =>
                    {
                        f.FechaCreacion       = DateTime.Now;
                        f.FechaAceptacion     = DateTime.Now;
                        f.AceptaDistribuidora = true;
                        f.AceptaUsuario       = true;
                        f.EsAdmin             = true;
                    });
                }

                if (distribuidora.Documentos?.Count > 0)
                {
                    distribuidora.Documentos.ToList().ForEach(f => { f.FechaVigencia = DateTime.Now; });
                }

                boDistribuidora.GuardarDistribuidoras(new List <Distribuidora> {
                    distribuidora
                });

                //Estructura de la transacción
                //using (var trx = Datos.InitTransaction())
                //{
                //    try
                //    {

                //        Datos.InsertarDistribuidora(distribuidora);
                //        Datos.SaveAll();
                //        Datos.InsertarUsuario(new Usuario() { Cedula = "17-000-000" });

                //        trx.Commit();
                //    }catch
                //    {
                //        trx.Rollback();
                //    }
                //}
                //Datos.SaveAll();
                return(Ok(distribuidora));
            }
            else
            {
                return(BadRequest("Distribuidora existe"));
            }
        }