public ActionResult Create(String Nombre, String Descripcion, double CantidadTela, PrecioCombinacion[] preciocombinacion) { try { String mensaje = ""; int idComb = 0; try { using (db) { idComb = Convert.ToInt16(db.sp_GestionarCombinacion(0, Nombre, Descripcion, CantidadTela, clsReferencias.INSERT).SingleOrDefault().Value); } } catch (Exception ex) { mensaje = new clsException(ex).Message(); idComb = -1; } using (var dbcontext = new ConfortexEntities()) { if (idComb != -1) { for (int i = 0; i < preciocombinacion.Length; i++) { PrecioCombinacion cf = preciocombinacion[i]; cf.IdCombinacion = idComb; cf.cod_RA = Cod_RA.cod_RA(); dbcontext.PrecioCombinacion.Add(cf); } dbcontext.SaveChanges(); return(Json(new { Message = clsReferencias.Exito })); } else { return(Json(new { Message = mensaje })); } } } catch (Exception ex) { return(Json(new { Message = new clsException(ex).Message() })); } }
public ActionResult Edit(int IdCombinacion, String Nombre, String Descripcion, double CantidadTela, PrecioCombinacion[] preciocombinacion) { try { String mensaje = ""; try { using (db) { db.sp_GestionarCombinacion(IdCombinacion, Nombre, Descripcion, CantidadTela, clsReferencias.UPDATE); } } catch (Exception ex) { mensaje = new clsException(ex).Message(); } using (var dbcontext = new ConfortexEntities()) { //List<CombinacionFuncion> lista = combinacionfuncion.ToList(); List <PrecioCombinacion> cflist = dbcontext.PrecioCombinacion.Where(w => w.IdCombinacion == IdCombinacion && w.regAnulado == false).ToList(); //List<CombinacionFuncion> cflist = dbcontext.CombinacionFuncion.Where(w => w.IdCombinacion == IdCombinacion && w.regAnulado == false).Except(combinacionfuncion.AsEnumerable()).ToList(); PrecioCombinacion cf = null; for (int i = 0; i < preciocombinacion.Length; i++) { if (preciocombinacion[i].IdPrecioCombinacion == 0) //Agregando Nuevo { cf = preciocombinacion[i]; cf.IdCombinacion = IdCombinacion; cf.cod_RA = Cod_RA.cod_RA(); dbcontext.PrecioCombinacion.Add(cf); } else //Actualizando { cf = dbcontext.PrecioCombinacion.Find(preciocombinacion[i].IdPrecioCombinacion); cf.Duracion = preciocombinacion[i].Duracion; cf.PrecioUnitario = preciocombinacion[i].PrecioUnitario; cf.NombreFuncion = preciocombinacion[i].NombreFuncion; dbcontext.Entry(cf).State = EntityState.Modified; cflist = cflist.Where(w => w.IdPrecioCombinacion != cf.IdPrecioCombinacion).ToList(); } dbcontext.SaveChanges(); } foreach (PrecioCombinacion combfun in cflist) { cf = dbcontext.PrecioCombinacion.Find(combfun.IdPrecioCombinacion); cf.regAnulado = true; dbcontext.Entry(cf).State = EntityState.Modified; } dbcontext.SaveChanges(); return(Json(new { Message = clsReferencias.Exito })); } } catch (Exception ex) { return(Json(new { Message = new clsException(ex).Message() })); } }