Пример #1
0
        // 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));
        }
Пример #2
0
 public ActionResult Create(ListadoProduccion listadoProduccion, DetalleListadoProduccion[] medidas, TickectPrecioReparacion[] precioReparacion)
 {
     return(GestionarTicket(listadoProduccion, medidas, clsReferencias.NoAction, precioReparacion));
 }
Пример #3
0
        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() }));
            }
        }
Пример #4
0
 public ActionResult DeleteConfirmed([Bind(Include = "IdListadoProduccion")] ListadoProduccion listadoProduccion)
 {
     return(GestionarTicket(listadoProduccion, null, clsReferencias.DELETE, null));
 }