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() }));
            }
        }