// GET: ListadoProduccion/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ListadoProduccion listadoProduccion = db.ListadoProduccion.Find(id); if (listadoProduccion == null) { return(HttpNotFound()); } ViewBag.IdDescripcionHechura = new SelectList(db.DescripcionHechura, "IdDescripcionHechura", "Descripcion", listadoProduccion.IdDescripcionHechura); ViewBag.IdEstado = new SelectList(db.Estados, "IdEstado", "Nombre", listadoProduccion.IdEstado); ViewBag.IdTalla = new SelectList(db.Talla, "IdTalla", "Nombre", listadoProduccion.IdTalla); return(View(listadoProduccion)); }
public ActionResult Create(ListadoProduccion listadoProduccion, DetalleListadoProduccion[] medidas, TickectPrecioReparacion[] precioReparacion) { return(GestionarTicket(listadoProduccion, medidas, clsReferencias.NoAction, precioReparacion)); }
public JsonResult GestionarTicket(ListadoProduccion lp, DetalleListadoProduccion[] medidas, int accion, TickectPrecioReparacion[] precioReparacion) { try { ListadoProduccion ticket = null; if (accion == clsReferencias.NoAction) { //Creando o editando el Ticket int IdTicket = 0; if (lp.IdListadoProduccion == 0) { IdTicket = db.ListadoProduccion.Max(w => w.IdListadoProduccion) + 1; lp.IdListadoProduccion = IdTicket; lp.IdEstado = clsReferencias.Generado; lp.cod_RA = Cod_RA.cod_RA(); db.ListadoProduccion.Add(lp); if (lp.isReparacion) //Si es una reparacion se gestionan los precios { for (int i = 0; i < precioReparacion.Length; i++) { precioReparacion[i].IdListadoProduccion = IdTicket; precioReparacion[i].FechaCreacion = System.DateTime.Now; db.TickectPrecioReparacion.Add(precioReparacion[i]); } } } else { ticket = db.ListadoProduccion.Find(lp.IdListadoProduccion); IdTicket = ticket.IdListadoProduccion; ticket.IdTalla = lp.IdTalla; ticket.Nombre = lp.Nombre; ticket.Cantidad = lp.Cantidad; ticket.isReparacion = lp.isReparacion; ticket.Observaciones = lp.Observaciones; db.Entry(ticket).State = EntityState.Modified; if (ticket.isReparacion) { List <TickectPrecioReparacion> precioTicket = db.TickectPrecioReparacion.Where(w => w.IdListadoProduccion == IdTicket).ToList(); TickectPrecioReparacion precio = null; for (int i = 0; i < precioReparacion.Length; i++) { if (precioReparacion[i].IdListadoProduccion == 0) { precioReparacion[i].IdListadoProduccion = IdTicket; precioReparacion[i].FechaCreacion = System.DateTime.Now; db.TickectPrecioReparacion.Add(precioReparacion[i]); } else { precio = db.TickectPrecioReparacion.Find(new object[] { precioReparacion[i].IdListadoProduccion, precioReparacion[i].NombreFuncion }); precio.PrecioMO = precioReparacion[i].PrecioMO; db.Entry(precio).State = EntityState.Modified; precioTicket = precioTicket.Where(w => w.NombreFuncion != precioReparacion[i].NombreFuncion).ToList(); } db.SaveChanges(); } db.TickectPrecioReparacion.RemoveRange(precioTicket.ToArray()); } } db.SaveChanges(); //Asignando medidas al ticket List <DetalleListadoProduccion> ListaMedidas = db.DetalleListadoProduccion.Where(w => w.IdListadoProduccion == IdTicket && w.regAnulado == false).ToList(); DetalleListadoProduccion detalle = null; if (medidas != null) { for (int i = 0; i < medidas.Length; i++) { if (medidas[i].IdListadoProduccion == 0 || medidas[i].IdDetalleListadoProduccion == 0) { medidas[i].IdListadoProduccion = IdTicket; foreach (DetalleListadoProduccion temp in ListaMedidas.Where(w => w.IdMedida == medidas[i].IdMedida).ToList()) { if (temp != null) { temp.regAnulado = true; db.Entry(temp).State = EntityState.Modified; } } db.DetalleListadoProduccion.Add(medidas[i]); } else { detalle = db.DetalleListadoProduccion.Find(medidas[i].IdDetalleListadoProduccion); detalle.IdMedida = medidas[i].IdMedida; detalle.Medida = medidas[i].Medida; db.Entry(medidas[i]).State = EntityState.Modified; ListaMedidas = ListaMedidas.Where(w => w.IdDetalleListadoProduccion != medidas[i].IdDetalleListadoProduccion).ToList(); } db.SaveChanges(); } foreach (DetalleListadoProduccion det in ListaMedidas) { detalle = db.DetalleListadoProduccion.Find(det.IdDetalleListadoProduccion); detalle.regAnulado = true; db.Entry(detalle).State = EntityState.Modified; } db.SaveChanges(); } else { foreach (DetalleListadoProduccion det in db.DetalleListadoProduccion.Where(w => w.IdListadoProduccion == IdTicket && w.regAnulado == false).ToList()) { detalle = db.DetalleListadoProduccion.Find(det.IdDetalleListadoProduccion); detalle.regAnulado = true; db.Entry(detalle).State = EntityState.Modified; } db.SaveChanges(); } } else { //Eliminando el Ticket ticket = db.ListadoProduccion.Find(lp.IdListadoProduccion); ticket.regAnulado = true; db.Entry(ticket).State = EntityState.Modified; db.SaveChanges(); } return(Json(new { Message = clsReferencias.Exito })); } catch (Exception ex) { return(Json(new { Message = new clsException(ex).Message() })); } }
public ActionResult DeleteConfirmed([Bind(Include = "IdListadoProduccion")] ListadoProduccion listadoProduccion) { return(GestionarTicket(listadoProduccion, null, clsReferencias.DELETE, null)); }