public IHttpActionResult ProductoDescuentoCreate(ProductoDescuentoModel productoDescuentoModel)
        {
            try
            {
                if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.ProductoDescuento> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
                }

                if (productoDescuentoModel.ProductoDescuento == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.ProductoDescuento> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.PRODUCTO_DESCUENTO_FAIL)));
                }

                var ProductoDescuento = productoDescuentoModel._repository.FindBy(x => x.Producto_Id == productoDescuentoModel.ProductoDescuento.Producto_Id && x.Descuento_Id == productoDescuentoModel.ProductoDescuento.Descuento_Id);
                if (ProductoDescuento != null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.ProductoDescuento> .MensajeJson(Constants.IS_ERROR, "Producto Descuento ya existe", Constants.PRODUCTO_DESCUENTO_FAIL)));
                }

                var pd = productoDescuentoModel.Create(BuilderFactories.ProductoDescuento(productoDescuentoModel.ProductoDescuento.Producto_Id, productoDescuentoModel.ProductoDescuento.Descuento_Id, productoDescuentoModel.ProductoDescuento.EstadoDescuento));
                if (pd == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.ProductoDescuento> .MensajeJson(Constants.IS_ERROR, "Producto Descuento no pudo crearse", Constants.PRODUCTO_DESCUENTO_FAIL)));
                }
                return(Json(Mensaje <Domain.Entities.Producto.ProductoDescuento> .MensajeJson(Constants.NO_ERROR, "Producto Descuento creado con exito", Constants.PRODUCTO_DESCUENTO_SUCCES)));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Producto.ProductoDescuento> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.PRODUCTO_DESCUENTO_FAIL)));
            }
        }
        public IHttpActionResult DescuentoCreate(DescuentoModel descuentoModel)
        {
            try
            {
                if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
                }

                if (descuentoModel.Descuento == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.DESCUENTO_FAIL)));
                }

                var descuento = descuentoModel.Create(BuilderFactories.Descuento(descuentoModel.Descuento.TipoDescuento, descuentoModel.Descuento.Acomulable, descuentoModel.Descuento.FechaYHoraInicio, descuentoModel.Descuento.FechaYHoraTerminación, descuentoModel.Descuento.Descu));
                if (descuento == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.IS_ERROR, "Descuento no pudo crearse", Constants.DESCUENTO_FAIL)));
                }
                return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.NO_ERROR, "Descuento Creado con exito", Constants.DESCUENTO_SUCCES)));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.DESCUENTO_FAIL)));
            }
        }
        public IHttpActionResult ProductoCreate(ProductoModel productoModel)
        {
            try
            {
                if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
                }

                if (productoModel.Producto == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.PRODUCTO_FAIL)));
                }

                if (productoModel._repository.FindBy(x => x.PrecioVenta == productoModel.Producto.PrecioVenta && x.Nombre == productoModel.Producto.Nombre).Count() > 0)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Producto ya existe", Constants.PRODUCTO_FAIL)));
                }

                var producto = productoModel.Create(BuilderFactories.Producto(productoModel.Producto.Nombre, productoModel.Producto.Descripción, productoModel.Producto.Imagen, productoModel.Producto.PrecioCompra, productoModel.Producto.PrecioVenta, productoModel.Producto.CantidadProducto, productoModel.Producto.Categoria_Id));
                if (producto == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Producto no pudo crearse", Constants.PRODUCTO_FAIL)));
                }
                return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.NO_ERROR, "Producto Creado con exito", Constants.PRODUCTO_SUCCES)));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.PRODUCTO_FAIL)));
            }
        }
        public IHttpActionResult CategoriaCreate(CategoriaModel categoriaModel)
        {
            if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
            }

            if (categoriaModel.Categoria == null)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.CATEGORIA_FAIL)));
            }

            var categoria = categoriaModel.GetByName(categoriaModel.Categoria.Nombre);

            if (categoria == null)
            {
                var c = categoriaModel.Create(BuilderFactories.Categoria(categoriaModel.Categoria.Nombre, categoriaModel.Categoria.Descripción, (categoriaModel.Categoria.FechaCreacion.Year < DateTime.Now.Year) ? DateTime.Now : categoriaModel.Categoria.FechaCreacion));
                if (c != null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.NO_ERROR, "Categoria creada con exito", Constants.CATEGORIA_SUCCES)));
                }
                else
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Error al crear la categoria", Constants.CATEGORIA_FAIL)));
                }
            }
            else
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Categoria ya existe", Constants.CATEGORIA_FAIL)));
            }
        }
        public IHttpActionResult Crear(UsuarioModel usuario)
        {
            if (usuario.Usuario == null)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.USER_FAIL)));
            }

            try
            {
                var factoryUser = BuilderFactories.Usuario(usuario.Usuario.Username, usuario.Usuario.Password, true, Rol.INVITADO);
                var response    = usuario.ServicioUsuario.Create(new ServicioUsuarioRequest {
                    Username = factoryUser.Username, Password = factoryUser.Password, Rol = Rol.CLIENTE, Activo = true
                });

                if (!response.Status)
                {
                    return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, response.Mensaje, Constants.USER_FAIL)));
                }
                return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.NO_ERROR, response.Mensaje, Constants.USER_SUCCESS)));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.USER_INVALID)));
            }
        }
示例#6
0
 public IHttpActionResult CrearCompra(CompraModel compraModel)
 {
     if (compraModel == null || compraModel.Compra == null)
     {
         return(Json(Mensaje <Compra> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.COMPRA_FAIL)));
     }
     return(Json(compraModel.Comprar(compraModel.Compra)));
 }
示例#7
0
        public IHttpActionResult Edit(ClienteModel clienteModel)
        {
            if (usuario.id == 0)
            {
                throw new ArgumentException(Constants.NO_AUTH);
            }

            if (clienteModel.Cliente == null)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Cliente> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.CLIENT_FAIL)));
            }

            var FactoryCliente  = BuilderFactories.Cliente(clienteModel.Cliente.Documento, clienteModel.Cliente.Nombre, clienteModel.Cliente.Email, usuario.id);
            var responseCliente = clienteModel.ServicioCliente.Edit(new ServicioClienteRequest()
            {
                Documento  = FactoryCliente.Documento,
                Email      = FactoryCliente.Email,
                Nombre     = FactoryCliente.Nombre,
                Usuario_Id = usuario.id,
            });

            if (clienteModel.Cliente.Telefónos != null)
            {
                clienteModel.Cliente.Telefónos.ToList().ForEach(x =>
                {
                    clienteModel.ServicioTelefóno.Edit(new ServicioTelefónoRequest
                    {
                        Cliente_Id   = responseCliente.Id,
                        Número       = x.Número,
                        TipoTelefono = x.TipoTelefono,
                        Id           = x.Id
                    });
                });
            }


            if (clienteModel.Cliente.Direcciónes != null)
            {
                clienteModel.Cliente.Direcciónes.ToList().ForEach(x =>
                {
                    clienteModel.ServicioDirección.Edit(new ServicioDireccíonRequest
                    {
                        Cliente_Id   = responseCliente.Id,
                        Barrio       = x.Barrio,
                        Direccion    = x.Direccion,
                        Municipio    = x.Municipio,
                        CodigoPostal = x.CodigoPostal,
                        Id           = x.Id
                    });
                });
            }


            return(Json(Mensaje <Domain.Entities.Cliente.Cliente> .MensajeJson(Constants.NO_ERROR, responseCliente.Mensaje, Constants.CLIENT_SUCCESS)));
        }
 public IHttpActionResult Get()
 {
     if (UsuarioModel.Instance.Auth().IsAuthenticated)
     {
         return(Json(UsuarioModel.Get(UsuarioModel.Instance.id)));
     }
     else
     {
         return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, Constants.NO_AUTH, Constants.USER_FAIL)));
     }
 }
示例#9
0
 public IHttpActionResult Get()
 {
     if (UsuarioModel.Instance.Auth().IsAuthenticated)
     {
         return(Json(Mensaje <Domain.Entities.Cliente.Cliente> .MensajeJson(Constants.IS_ERROR, Constants.NO_AUTH, Constants.USER_FAIL, ClienteModel.Instance._repository.FindBy(x => x.Usuario_Id == UsuarioModel.Instance.id).FirstOrDefault())));
     }
     else
     {
         return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, Constants.NO_AUTH, Constants.USER_FAIL)));
     }
 }
示例#10
0
        public IHttpActionResult PayCreate(MetodoPagoModel metodoPago)
        {
            if (usuario.id == 0)
            {
                throw new ArgumentException(Constants.NO_AUTH);
            }

            if (metodoPago.ClienteMetodoDePagos == null)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.PAY_FAIL)));
            }


            int cont = 0, id = metodoPago.ServicioCliente.Get(new ServicioClienteRequest {
                Usuario_Id = usuario.id
            }).Id;
            bool activo = false;

            try
            {
                metodoPago.ClienteMetodoDePagos.ToList().ForEach(x =>
                {
                    if (cont == 0 && x.Saldo > 0)
                    {
                        activo = true;
                    }
                    var response = metodoPago.ServicioMetodoPago.Create(new ServicioMetodoPagoRequest
                    {
                        Activo     = activo,
                        Cliente_Id = id,
                        Saldo      = x.Saldo,
                        CreditCard = x.CreditCard
                    });

                    if (response.Status)
                    {
                        cont++;
                    }
                });
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.PAY_FAIL)));
            }

            if (cont == 0)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.IS_ERROR, "Error, no se pudo crear ningun metodo de pago", Constants.PAY_FAIL)));
            }
            return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.NO_ERROR, "Se registraron " + cont + " Metodos de pago", Constants.PAY_SUCCESS)));
        }
        public IHttpActionResult DeleteProductoDescuento(int id)
        {
            if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
            {
                return(Json(Mensaje <Domain.Entities.Producto.ProductoDescuento> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
            }

            if (ProductoDescuentoModel.Instance.Delete(id))
            {
                return(Json(Mensaje <Domain.Entities.Producto.ProductoDescuento> .MensajeJson(Constants.NO_ERROR, "Producto Descuento eliminado", Constants.PRODUCTO_DESCUENTO_SUCCES)));
            }

            return(Json(Mensaje <Domain.Entities.Producto.ProductoDescuento> .MensajeJson(Constants.IS_ERROR, "Producto Descuento no pudo ser eliminado", Constants.PRODUCTO_DESCUENTO_FAIL)));
        }
        public IHttpActionResult ProductoEdit(ProductoModel productoModel)
        {
            try
            {
                if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
                }

                if (productoModel.Producto == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.PRODUCTO_FAIL)));
                }

                if (productoModel.Producto.PrecioCompra > productoModel.Producto.PrecioVenta)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Precio de compra no puede mayor al precio de venta", Constants.PRODUCTO_FAIL)));
                }

                var producto = productoModel._repository.FindBy(x => x.Id == productoModel.Producto.Id).FirstOrDefault();

                if (producto == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Producto no existe", Constants.PRODUCTO_FAIL)));
                }


                var factoryProducto = BuilderFactories.Producto(productoModel.Producto.Nombre, productoModel.Producto.Descripción, productoModel.Producto.Imagen, productoModel.Producto.PrecioCompra, productoModel.Producto.PrecioVenta, productoModel.Producto.CantidadProducto, productoModel.Producto.Categoria_Id);

                producto.Nombre           = factoryProducto.Nombre;
                producto.Descripción      = factoryProducto.Descripción;
                producto.Imagen           = factoryProducto.Imagen;
                producto.PrecioCompra     = factoryProducto.PrecioCompra;
                producto.PrecioVenta      = factoryProducto.PrecioVenta;
                producto.CantidadProducto = factoryProducto.CantidadProducto;
                producto.Categoria_Id     = factoryProducto.Categoria_Id;

                if (!productoModel.Update(producto))
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Producto no pudo Modificarse", Constants.PRODUCTO_FAIL)));
                }
                return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.NO_ERROR, "Producto Modificado con exito", Constants.PRODUCTO_SUCCES)));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.PRODUCTO_FAIL)));
            }
        }
        public IHttpActionResult PayDelete(int id)
        {
            if (id == 0)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.PAY_FAIL)));
            }

            if (MetodoPagoModel.Instance.Delete(id))
            {
                return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.NO_ERROR, "borrado con exito", Constants.PAY_SUCCESS)));
            }
            else
            {
                return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.NO_ERROR, "borrado fail", Constants.PAY_FAIL)));
            }
        }
示例#14
0
        public IHttpActionResult PayEdit(MetodoPagoModel metodoPago)
        {
            if (usuario.id == 0)
            {
                throw new ArgumentException(Constants.NO_AUTH);
            }

            if (metodoPago.ClienteMetodoDePagos == null)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.PAY_FAIL)));
            }

            try
            {
                int cont    = 0;
                var cliente = ClienteModel.GetAll(usuario.id).Cliente;

                metodoPago.ClienteMetodoDePagos.ToList().ForEach(x =>
                {
                    var response = metodoPago.ServicioMetodoPago.Edit(new ServicioMetodoPagoRequest
                    {
                        Activo     = x.Activo,
                        Cliente_Id = cliente.Id,
                        Saldo      = x.Saldo,
                        CreditCard = x.CreditCard,
                        Id         = x.Id,
                        Cliente    = cliente
                    });

                    if (response.Status)
                    {
                        cont++;
                    }
                });
                if (cont == 0)
                {
                    return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.IS_ERROR, "Error, No se pudo modificar, ", Constants.PAY_FAIL)));
                }
                return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.NO_ERROR, "Se Modificaron " + cont + " Metodos de pago", Constants.PAY_SUCCESS)));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.ClienteMetodoDePago> .MensajeJson(Constants.NO_ERROR, e.Message, Constants.PAY_FAIL)));
            }
        }
        public IHttpActionResult DescuentoEdit(DescuentoModel descuentoModel)
        {
            try
            {
                if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
                }

                if (descuentoModel.Descuento == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.DESCUENTO_FAIL)));
                }

                var descuento = descuentoModel.Find(descuentoModel.Descuento.Id);


                if (descuento == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.IS_ERROR, "No existe Descuento", Constants.DESCUENTO_FAIL)));
                }

                //si esta mal arroja una excepcion
                var factoryDescuento = BuilderFactories.Descuento(descuentoModel.Descuento.TipoDescuento, descuentoModel.Descuento.Acomulable, descuentoModel.Descuento.FechaYHoraInicio, descuentoModel.Descuento.FechaYHoraTerminación, descuentoModel.Descuento.Descu);

                descuento.Descu                 = factoryDescuento.Descu;
                descuento.TipoDescuento         = factoryDescuento.TipoDescuento;
                descuento.Acomulable            = factoryDescuento.Acomulable;
                descuento.FechaYHoraInicio      = factoryDescuento.FechaYHoraInicio;
                descuento.FechaYHoraTerminación = factoryDescuento.FechaYHoraTerminación;


                if (!descuentoModel.Update(descuento))
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.IS_ERROR, "Descuento no pudo Modificarse", Constants.DESCUENTO_FAIL)));
                }
                return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.NO_ERROR, "Descuento Modificado con exito", Constants.DESCUENTO_SUCCES)));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Descuento> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.DESCUENTO_FAIL)));
            }
        }
        public IHttpActionResult CategoriaEdit(CategoriaModel categoriaModel)
        {
            if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
            }


            if (categoriaModel.Categoria == null)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.CATEGORIA_FAIL)));
            }

            if (categoriaModel.ServicioProducto.GetExiste(new ServicioProductoRequest {
                Id = categoriaModel.Categoria.Id, Nombre = categoriaModel.Categoria.Nombre
            }))
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Nombre Categoria ya existe", Constants.CATEGORIA_FAIL)));
            }

            var categoria = categoriaModel.Find(categoriaModel.Categoria.Id);

            if (categoria != null)
            {
                var factoryCategoria = BuilderFactories.Categoria(categoriaModel.Categoria.Nombre, categoriaModel.Categoria.Descripción, (categoriaModel.Categoria.FechaCreacion.Year < DateTime.Now.Year) ? DateTime.Now : categoriaModel.Categoria.FechaCreacion);
                categoria.Nombre      = factoryCategoria.Nombre;
                categoria.Descripción = factoryCategoria.Descripción;
                if (categoriaModel.Update(categoria))
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.NO_ERROR, "Categoria Modificada con exito", Constants.CATEGORIA_SUCCES)));
                }
                else
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Error al modificar la categoria", Constants.CATEGORIA_FAIL)));
                }
            }
            else
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Categoria no existe", Constants.CATEGORIA_FAIL)));
            }
        }
示例#17
0
        public IHttpActionResult CategoriaEdit(CategoriaModel categoriaModel)
        {
            if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
            {
                return(Json(Mensaje <Categoria> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
            }


            if (categoriaModel.Categoria == null)
            {
                return(Json(Mensaje <Categoria> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.CATEGORIA_FAIL)));
            }

            var categoria = categoriaModel._repository.FindBy(x => x.Nombre == categoriaModel.Categoria.Nombre && x.Id != categoriaModel.Categoria.Id).FirstOrDefault();

            if (categoria != null)
            {
                return(Json(Mensaje <Categoria> .MensajeJson(Constants.IS_ERROR, "Nombre Categoria ya existe", Constants.CATEGORIA_FAIL)));
            }

            categoria = categoriaModel._repository.FindBy(x => x.Id == categoriaModel.Categoria.Id).FirstOrDefault();
            if (categoria != null)
            {
                var factoryCategoria = BuilderFactories.Categoria(categoriaModel.Categoria.Nombre, categoriaModel.Categoria.Descripción, (categoriaModel.Categoria.FechaCreacion.Year < DateTime.Now.Year) ? DateTime.Now : categoriaModel.Categoria.FechaCreacion);
                categoria.Nombre      = factoryCategoria.Nombre;
                categoria.Descripción = factoryCategoria.Descripción;
                if (categoriaModel.Update(categoria))
                {
                    return(Json(Mensaje <Categoria> .MensajeJson(Constants.NO_ERROR, "Categoria Modificada con exito", Constants.CATEGORIA_SUCCES)));
                }
                else
                {
                    return(Json(Mensaje <Categoria> .MensajeJson(Constants.IS_ERROR, "Error al modificar la categoria", Constants.CATEGORIA_FAIL)));
                }
            }
            else
            {
                return(Json(Mensaje <Categoria> .MensajeJson(Constants.IS_ERROR, "Categoria no existe", Constants.CATEGORIA_FAIL)));
            }
        }
        public IHttpActionResult Authenticar(UsuarioModel usuario)
        {
            if (usuario.Usuario == null)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.USER_FAIL)));
            }


            if (usuario == null || usuario.Usuario.Username == null || usuario.Usuario.Password == null)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, Constants.USER_INVALID, Constants.USER_FAIL)));
            }

            try
            {
                var factoryUser = BuilderFactories.Usuario(usuario.Usuario.Username, usuario.Usuario.Password, true, Domain.Enum.Rol.INVITADO);
                var user        = usuario.ServicioUsuario.Autenticar(new ServicioUsuarioRequest()
                {
                    Username = factoryUser.Username, Password = factoryUser.Password
                });


                if (user == null)
                {
                    return(Unauthorized());
                }

                if (user.Activo == false)
                {
                    return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, Constants.USER_INACTIVE, Constants.USER_FAIL)));
                }

                var token = TokenGenerator.GenerateTokenJwt(usuario.Usuario.Username);
                return(Ok((Mensaje <Domain.Entities.Cliente.Cliente> .MensajeJson(Constants.NO_ERROR, token, Constants.USER_SUCCESS, ClienteModel.Instance._repository.FindBy(x => x.Usuario_Id == user.Id).FirstOrDefault()))));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.USER_INVALID)));
            }
        }
        public IHttpActionResult Create(ClienteModel clienteModel)
        {
            if (clienteModel.Cliente == null)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Cliente> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.CLIENT_FAIL)));
            }

            if (clienteModel.Cliente.Usuario == null)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.USER_FAIL)));
            }

            var factoryUser     = BuilderFactories.Usuario(clienteModel.Cliente.Usuario.Username, clienteModel.Cliente.Usuario.Password, true, Rol.INVITADO);
            var responseUsuario = UsuarioModel.Instance.ServicioUsuario.Create(new ServicioUsuarioRequest {
                Username = factoryUser.Username, Password = factoryUser.Password, Rol = Rol.CLIENTE, Activo = true
            });

            if (!responseUsuario.Status)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Usuario> .MensajeJson(Constants.IS_ERROR, responseUsuario.Mensaje, Constants.USER_FAIL)));
            }

            var FactoryCliente  = BuilderFactories.Cliente(clienteModel.Cliente.Documento, clienteModel.Cliente.Nombre, clienteModel.Cliente.Email, responseUsuario.Id);
            var responseCliente = clienteModel.ServicioCliente.Create(new ServicioClienteRequest()
            {
                Documento  = FactoryCliente.Documento,
                Email      = FactoryCliente.Email,
                Nombre     = FactoryCliente.Nombre,
                Usuario_Id = usuario.id
            });

            if (!responseCliente.Status)
            {
                return(Json(Mensaje <Domain.Entities.Cliente.Cliente> .MensajeJson(Constants.IS_ERROR, responseCliente.Mensaje, Constants.CLIENT_FAIL)));
            }

            if (clienteModel.Cliente.Telefónos != null)
            {
                clienteModel.Cliente.Telefónos.ToList().ForEach(x =>
                {
                    clienteModel.ServicioTelefóno.Create(new ServicioTelefónoRequest
                    {
                        Cliente_Id   = responseCliente.Id,
                        Número       = x.Número,
                        TipoTelefono = x.TipoTelefono
                    });
                });
            }


            if (clienteModel.Cliente.Direcciónes != null)
            {
                clienteModel.Cliente.Direcciónes.ToList().ForEach(x =>
                {
                    clienteModel.ServicioDirección.Create(new ServicioDireccíonRequest
                    {
                        Cliente_Id   = responseCliente.Id,
                        Barrio       = x.Barrio,
                        Direccion    = x.Direccion,
                        Municipio_Id = x.Municipio_Id,
                        CodigoPostal = x.CodigoPostal
                    });
                });
            }
            return(Json(Mensaje <Domain.Entities.Cliente.Cliente> .MensajeJson(Constants.NO_ERROR, responseCliente.Mensaje, Constants.CLIENT_SUCCESS, clienteModel.Cliente)));
        }