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))); } }
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))); } }
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))); } }