public async Task <ActionResult> Crear([FromBody] CrearViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var fechaHora = DateTime.Now; CotizacionE cotizacion = new CotizacionE { idUsuario = model.idUsuario, fechaRegistro = fechaHora, fechaActualizacion = fechaHora, idCliente = model.idCliente, idEstatus = model.idEstatus, //subtotal = model.subtotal, //iva = model.iva, total = model.total, descuento = model.descuento, aumento = model.aumento }; try { _context.Cotizaciones.Add(cotizacion); await _context.SaveChangesAsync(); var id = cotizacion.idCotizacion; foreach (var det in model.detalles) { Detalles_Cotizacion detalle = new Detalles_Cotizacion { idCotizacion = id, cantidad = det.cantidad, //unidadMedida = det.unidadMedida, //precioUnitario = det.precioUnitario, //descripcion = det.descripcion, idProducto = det.idProducto }; _context.DetallesCotizacion.Add(detalle); } await _context.SaveChangesAsync(); } catch (Exception ex) { return(BadRequest(ex)); } return(Ok()); }
public async Task <IActionResult> Guardar([FromBody] objProyecto model) { var fechaHora = DateTime.Now; var holi = model.objcliente.idCliente; var aumento = 0; switch (model.objcliente.tipoCliente) { case "A": aumento = 10; break; case "B": aumento = 20; break; case "C": aumento = 30; break; case "D": aumento = 40; break; } CotizacionE cotizacion = new CotizacionE { idCliente = model.objcliente.idCliente, idUsuario = 3, idEstatus = 1, total = model.totalProyecto, moneda = model.objmoneda.moneda, tipoCambio = Convert.ToDecimal(model.objmoneda.tipoCambio), descuento = model.descuento, aumento = aumento, idPlantilla = 0, fechaRegistro = fechaHora, fechaActualizacion = fechaHora }; try { _context.Cotizaciones.Add(cotizacion); await _context.SaveChangesAsync(); var id = cotizacion.idCotizacion; foreach (var serv in model.objservicios) { var idser = serv.idServicio; foreach (var cat in serv.objcategorias) { var idcat = cat.idcategoria; foreach (var pro in cat.objproductos) { Detalles_Cotizacion detalle = new Detalles_Cotizacion { idCotizacion = id, idProducto = pro.idProducto, cantidad = Convert.ToInt32(pro.cantidad), monto = Convert.ToDecimal(pro.monto), comentarios = "", fechaRegistro = fechaHora, idServicio = idser, idCategoria = idcat }; _context.DetallesCotizacion.Add(detalle); } } } await _context.SaveChangesAsync(); } catch (Exception ex) { return(BadRequest(ex)); } return(Ok()); }