Пример #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            Refrigerador refrigerador = db.Refrigeradores.Find(id);

            db.Refrigeradores.Remove(refrigerador);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #2
0
 public ActionResult Edit([Bind(Include = "id,codigo,modeloId")] Refrigerador refrigerador)
 {
     if (ModelState.IsValid)
     {
         db.Entry(refrigerador).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.modeloId = new SelectList(db.Modelos, "id", "codigo", refrigerador.modeloId);
     return(View(refrigerador));
 }
Пример #3
0
        // GET: Refrigeradores/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Refrigerador refrigerador = db.Refrigeradores.Find(id);

            if (refrigerador == null)
            {
                return(HttpNotFound());
            }
            return(View(refrigerador));
        }
Пример #4
0
        // GET: Refrigeradores/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Refrigerador refrigerador = db.Refrigeradores.Find(id);

            if (refrigerador == null)
            {
                return(HttpNotFound());
            }
            ViewBag.modeloId = new SelectList(db.Modelos, "id", "codigo", refrigerador.modeloId);
            return(View(refrigerador));
        }
Пример #5
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, name = model.name
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    UserManager.AddToRole(user.Id, "User");
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // Validate Fridge code
                    var fridgeCode = model.FridgeCode;
                    var frModel    = db.Modelos.Where(u => u.codigo == fridgeCode).FirstOrDefault();
                    // Instantiate list of refri
                    user.refrigeradores = new List <Refrigerador>();
                    var refri = new Refrigerador {
                        codigo = fridgeCode, modeloId = frModel.id
                    };
                    refri.paquetes           = new List <Paquete>();
                    refri.capacidad_restante = frModel.capacidad;
                    refri.applicationUser_id = user.Id;
                    user.refrigeradores.Add(refri);
                    // Update dtabase with the new refri
                    db.Refrigeradores.Add(refri);
                    db.SaveChanges();

                    // db save changes commented because is giving an error, but user and data is actually being saved in the database
                    //db.SaveChanges();

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    // Verify Role and rediredto to corresponding page
                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Пример #6
0
        public ActionResult Create([Bind(Include = "id,codigo")] Refrigerador refrigerador)
        {
            // Find respective model
            var frModel = db.Modelos.Where(u => u.codigo == refrigerador.codigo).FirstOrDefault();

            if (ModelState.IsValid)
            {
                // Fill the new refri atributes
                refrigerador.applicationUser_id = User.Identity.GetUserId();
                refrigerador.modeloId           = frModel.id;
                refrigerador.paquetes           = new List <Paquete>();
                refrigerador.capacidad_restante = frModel.capacidad;
                // Update the database
                db.Refrigeradores.Add(refrigerador);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.modeloId = new SelectList(db.Modelos, "id", "codigo", refrigerador.modeloId);
            return(View(refrigerador));
        }
Пример #7
0
        // GET: Refrigeradores/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Refrigerador         refrigerador      = db.Refrigeradores.Find(id);
            var                  canastaBasica     = db.CanastasBasicas.Where(u => u.refriId == refrigerador.id).FirstOrDefault();
            var                  paquetes          = db.Paquetes.Where(u => u.refriId == refrigerador.id).ToList();
            ICollection <String> productosAcabados = new List <String>();

            if (canastaBasica != null)
            {
                foreach (var item in canastaBasica.productForCanasta)
                {
                    var total = 0;
                    foreach (var pro in paquetes)
                    {
                        if (item.productoId == pro.productId)
                        {
                            total += pro.cantidad;
                        }
                    }
                    if (total <= item.CantidadMaxima * canastaBasica.perEscasez)
                    {
                        productosAcabados.Add(item.Producto.nombre);
                    }
                }

                if (productosAcabados.Count > 0)
                {
                    String product_left = "";
                    for (int i = 0; i < productosAcabados.Count - 1; i++)
                    {
                        product_left += productosAcabados.ElementAt(i) + ", ";
                    }
                    product_left += productosAcabados.ElementAt(productosAcabados.Count - 1);

                    MailMessage mailMessage = new MailMessage();
                    mailMessage.From = new MailAddress("*****@*****.**");
                    string          currentUserId = User.Identity.GetUserId();
                    ApplicationUser currentUser   = db.Users.FirstOrDefault(x => x.Id == currentUserId);
                    mailMessage.To.Add(currentUser.Email);
                    mailMessage.Subject = $"Se esta acabando los productos siguientes de tu canasta basica";
                    mailMessage.Body    = $"Se estan acabando los siguientes productos: {product_left}";

                    SmtpClient smtp = new SmtpClient();

                    smtp.Host                  = "smtp.gmail.com";
                    smtp.Port                  = 587;
                    smtp.EnableSsl             = true;
                    smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
                    smtp.UseDefaultCredentials = false;
                    smtp.Credentials           = new NetworkCredential("gazorpgazor", "Hermes_69");

                    smtp.Send(mailMessage);
                }
            }

            var toReturn = new RefriDetailsViewModel
            {
                refrigerador  = refrigerador,
                canastaBasica = canastaBasica
            };

            if (refrigerador == null)
            {
                return(HttpNotFound());
            }
            return(View(toReturn));
        }