Esempio n. 1
0
        public IHttpActionResult Agrega_Producto(typeProducto producto)
        {
            var Producto = new Cat_Productos();

            try
            {
                Producto.Codigo = producto.Codigo;
                Producto.Nombre = producto.Nombre.ToUpper();
                Producto.Precio = producto.Precio;

                //Realiza el registro
                using (var conexion = new dboEntities())
                {
                    conexion.Configuration.ProxyCreationEnabled = false;

                    //Valida que no exista el nombre o código
                    var validaNombre = conexion.Cat_Productos.SingleOrDefault(Consulta => Consulta.Nombre == producto.Nombre.ToUpper() || Consulta.Codigo == producto.Codigo);
                    if (validaNombre == null)
                    {
                        conexion.Cat_Productos.Add(Producto);

                        conexion.SaveChanges();

                        return(Ok());
                    }
                    else
                    {
                        throw new Exception("Ya existe un registro con este nombre o código, favor de verificarlo.");
                    }
                }
            }
            catch (DbEntityValidationException ex)
            {
                // Retrieve the error messages as a list of strings.
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);

                // Join the list to a single string.
                var fullErrorMessage = string.Join("; ", errorMessages);

                // Combine the original exception message with the new one.
                var exceptionMessage = string.Concat(ex.Message, " Errores de validación: ", fullErrorMessage);

                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exceptionMessage)));
            }
            catch (DbUpdateException ex)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)));
            }
            catch (Exception ex)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)));
            }
        }
Esempio n. 2
0
        public IHttpActionResult Elimina_Producto(int ID)
        {
            try
            {
                //Realiza el registro
                using (var conexion = new dboEntities())
                {
                    conexion.Configuration.ProxyCreationEnabled = false;

                    var Producto = (from consulta in conexion.Cat_Productos
                                    where consulta.Producto_ID == ID
                                    select consulta).FirstOrDefault <Cat_Productos>();
                    if (Producto != null)
                    {
                        conexion.Cat_Productos.Remove(Producto);

                        conexion.SaveChanges();

                        return(Ok());
                    }
                    else
                    {
                        return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No existe el producto")));
                    }
                }
            }
            catch (DbEntityValidationException ex)
            {
                // Retrieve the error messages as a list of strings.
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);

                // Join the list to a single string.
                var fullErrorMessage = string.Join("; ", errorMessages);

                // Combine the original exception message with the new one.
                var exceptionMessage = string.Concat(ex.Message, " Errores de validación: ", fullErrorMessage);

                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exceptionMessage)));
            }
            catch (DbUpdateException ex)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)));
            }
            catch (Exception ex)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)));
            }
        }
Esempio n. 3
0
        public IHttpActionResult Agrega_Factura(typeFactura factura)
        {
            var Factura = new Ope_Facturas();

            try
            {
                //Realiza el registro
                using (var conexion = new dboEntities())
                {
                    conexion.Configuration.ProxyCreationEnabled = false;

                    int No_Documento = conexion.Ope_Facturas.Count() + 1;

                    Factura.Numero_Comprobante = No_Documento.ToString("000000000000");
                    Factura.Nombre_Cliente     = factura.Cliente;
                    Factura.Cedula             = factura.Cedula;
                    Factura.Fecha     = factura.Fecha;
                    Factura.Subtotal  = factura.Subtotal;
                    Factura.Descuento = factura.Descuento;
                    Factura.Total     = factura.Total;

                    foreach (var detalle in factura.Detalles)
                    {
                        var Detalle = new Ope_Facturas_Detalles();

                        Detalle.Producto_ID = detalle.Producto_ID;
                        Detalle.Cantidad    = detalle.Cantidad;
                        Detalle.Precio      = detalle.Precio;
                        Detalle.Importe     = detalle.Importe;
                        Factura.Ope_Facturas_Detalles.Add(Detalle);
                    }

                    conexion.Ope_Facturas.Add(Factura);

                    conexion.SaveChanges();

                    var Resultado = new { Message = Factura.Numero_Comprobante };

                    return(Ok(Resultado));
                }
            }
            catch (DbEntityValidationException ex)
            {
                // Retrieve the error messages as a list of strings.
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);

                // Join the list to a single string.
                var fullErrorMessage = string.Join("; ", errorMessages);

                // Combine the original exception message with the new one.
                var exceptionMessage = string.Concat(ex.Message, " Errores de validación: ", fullErrorMessage);

                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exceptionMessage)));
            }
            catch (DbUpdateException ex)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)));
            }
            catch (Exception ex)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)));
            }
        }