public JsonResult ProcesarCotizacion(int IdCliente, string Comentario) { var respuesta = "Cotizacion Procesada!"; try { if (TempData["ListaProductos"] != null) { ListaProductos = (List<ProductoCotizacion>)TempData["ListaProductos"]; ListaMateriales= (List<MaterialCotizacion>)TempData["MateralCotizacion"]; Cotizacion Cot = new Cotizacion(); Cot.IdCliente = IdCliente; Cot.Estado = "P"; Cot.Fecha = DateTime.Now; Cot.FechaActualizacion = DateTime.Now; Cot.Comentario = Comentario; foreach (var item in ListaProductos) { Cot.MontoParcial += item.Subtotal; } Cot.Usuario= Session["UsuarioActual"].ToString(); db.Cotizacion.Add(Cot); db.SaveChanges(); foreach (var item in ListaMateriales) { item.IdCotizacion = Cot.IdCotizacion; db.MaterialCotizacion.Add(item); } foreach (var item in ListaProductos) { item.IdCotizacion = Cot.IdCotizacion; if (item.Tipo == "Mat") { MaterialItemCotizacion M = new MaterialItemCotizacion(); M.IdCotizacion= Cot.IdCotizacion; M.IdMaterial = item.IdProducto; M.Cantidad = item.CantMat; M.Ancho = item.Ancho; M.Alto = item.Alto; M.Subtotal = item.Subtotal; M.IdColor = item.IdColor; db.MaterialItemCotizacion.Add(M); } else { item.CantProducto = (int)item.CantMat; db.ProductoCotizacion.Add(item); } } db.SaveChanges(); LimpiarListas(); } else { respuesta = "Debe Agregar Productos a la Cotizacion!"; } } catch(Exception e) { respuesta = "Un error inesperado a ocurrido, contacte al administrador del sistema\n\n" + e; return Json(respuesta, JsonRequestBehavior.AllowGet); } return Json(respuesta, JsonRequestBehavior.AllowGet); }
public JsonResult GuardarCotizacionEdit(int id,int IdCliente, string Comentario) { var respuesta = "Cotizacion Guardada!"; try { if (TempData["ListaProductos"] != null) { ListaProductos = (List<ProductoCotizacion>)TempData["ListaProductos"]; ListaMateriales= (List<MaterialCotizacion>)TempData["MateralCotizacion"]; var ListaP = (from s in db.ProductoCotizacion where s.IdCotizacion == id select s).ToList(); var ListaPM = (from s in db.MaterialItemCotizacion where s.IdCotizacion == id select s).ToList(); var ListaM = (from s in db.MaterialCotizacion where s.IdCotizacion == id select s).ToList(); Cotizacion Cotiz = db.Cotizacion.Find(id); Cotiz.IdCliente = IdCliente; Cotiz.Estado = "C"; Cotiz.FechaActualizacion = DateTime.Now; Cotiz.Comentario = Comentario; Cotiz.MontoParcial = 0; foreach (var item in ListaProductos) { Cotiz.MontoParcial += item.Subtotal; } Cotiz.Usuario = Session["UsuarioActual"].ToString(); db.Entry(Cotiz).State = EntityState.Modified; db.SaveChanges(); foreach (var item in ListaM) { db.MaterialCotizacion.Attach(item); db.MaterialCotizacion.Remove(item); db.SaveChanges(); } foreach (var item in ListaP) { db.ProductoCotizacion.Attach(item); db.ProductoCotizacion.Remove(item); db.SaveChanges(); } foreach (var item in ListaPM) { db.MaterialItemCotizacion.Attach(item); db.MaterialItemCotizacion.Remove(item); db.SaveChanges(); } foreach (var item in ListaMateriales) { item.IdCotizacion = Cotiz.IdCotizacion; db.MaterialCotizacion.Add(item); } foreach (var item in ListaProductos) { item.IdCotizacion = Cotiz.IdCotizacion; if (item.Tipo == "Mat") { MaterialItemCotizacion M = new MaterialItemCotizacion(); M.IdCotizacion = Cotiz.IdCotizacion; M.IdMaterial = item.IdProducto; M.Cantidad = item.CantMat; M.Ancho = item.Ancho; M.Alto = item.Alto; M.IdColor = item.IdColor; M.Subtotal = item.Subtotal; db.MaterialItemCotizacion.Add(M); } else { item.CantProducto = (int)item.CantMat; db.ProductoCotizacion.Add(item); } } db.SaveChanges(); LimpiarListas(); } else { respuesta = "Debe Agregar Productos a la Cotizacion!"; } } catch (Exception e) { respuesta = "Un error inesperado a ocurrido, contacte al administrador del sistema\n\n" + e; return Json(respuesta, JsonRequestBehavior.AllowGet); } return Json(respuesta, JsonRequestBehavior.AllowGet); }