public ActionResult Create(RegisterRestaurantModel model, HttpPostedFileBase image)
        {
            if (ModelState.IsValid)
            {
                Restaurant restaurant = model.restaurant;
                if (model.restTypesId != null)
                {
                    foreach (var typeId in model.restTypesId)
                    {
                        Models.Type restType = db.Type.Find(typeId);
                        restType.Restaurant.Add(restaurant);
                        restaurant.Type.Add(restType);
                    }
                }
                if (image != null)
                {
                    byte[] dbImage = FileUpload(image);
                    restaurant.Logo = dbImage;
                }
                var identity = (System.Web.HttpContext.Current.User as MyIdentity.MyPrincipal).Identity as MyIdentity;
                restaurant.IdAdmin = identity.User.IdCard;
                db.Restaurant.Add(restaurant);

                db.SaveChanges();
                TempData["Success"] = restaurant.Name + " created successfully.";
                return(RedirectToAction("Index"));
            }
            ViewBag.Type = new SelectList(db.Type, "IdType", "Name");
            return(View(model));
        }
        public ActionResult UserProfile(ProfileEditViewModel model)
        {
            bool error      = false;
            var  identity   = (System.Web.HttpContext.Current.User as MyIdentity.MyPrincipal).Identity as MyIdentity;
            User loggedUser = db.User.FirstOrDefault(a => a.IdCard.Equals(identity.User.IdCard));

            error = (model.profileData.IdCard != identity.User.IdCard) ? !ValidateIdCard(model.profileData.IdCard) : error;
            error = (model.profileData.Username != identity.User.Username && !error) ? !ValidateUserName(model.profileData.Username) : error;

            if (!error && ModelState.IsValid)
            {
                loggedUser.Username        = model.profileData.Username;
                loggedUser.FirstName       = model.profileData.FirstName;
                loggedUser.MiddleName      = model.profileData.MiddleName;
                loggedUser.LastName        = model.profileData.LastName;
                loggedUser.SecondLastName  = model.profileData.SecondLastName;
                loggedUser.IdCard          = model.profileData.IdCard;
                loggedUser.BirthDate       = model.profileData.BirthDate;
                loggedUser.Gender          = model.profileData.Gender;
                loggedUser.Nationality     = model.profileData.Nationality;
                db.Entry(loggedUser).State = EntityState.Modified;
                db.SaveChanges();
                TempData["Success"] = "Profile correctly updated.";
                return(RedirectToAction("UserProfile", "Account"));
            }
            ViewBag.Nationality = new SelectList(db.Country, "IdCountry", "Name", loggedUser.Nationality);
            return(View(model));
        }
        public ActionResult Create(DishRegister model)
        {
            if (ModelState.IsValid)
            {
                Dish dish = model.dish;
                if (model.restTypesId != null)
                {
                    foreach (var typeId in model.restTypesId)
                    {
                        Type restType = db.Type.Find(typeId);
                        restType.Dish.Add(dish);
                        dish.Type.Add(restType);
                    }
                }
                dish.IdRestaurant = model.idRestaurant;
                db.Dish.Add(dish);

                if (model.uploadFilesNames != null)
                {
                    string[] uploadFiles = model.uploadFilesNames.Split(',');
                    for (int i = 0; i < Request.Files.Count; i++)
                    {
                        HttpPostedFileBase tmpFile = Request.Files[i];
                        if (tmpFile != null && uploadFiles.Any(name => name == tmpFile.FileName) && uploadFiles.Length > 0)
                        {
                            byte[] dbImage  = FileUpload(tmpFile);
                            Photo  tmpPhoto = new Photo();
                            tmpPhoto.Photo1 = dbImage;
                            db.Photo.Add(tmpPhoto);

                            dish.Photo.Add(tmpPhoto);
                            tmpPhoto.Dish.Add(dish);
                            uploadFiles = uploadFiles.Where(name => name != tmpFile.FileName).ToArray();
                        }
                    }
                }
                var locals = (from loc in db.Local
                              where loc.IdRestaurant == model.idRestaurant
                              select loc);
                foreach (var local in locals)
                {
                    DishesPerLocal dpl = new DishesPerLocal();
                    dpl.IdDish  = model.dish.IdDish;
                    dpl.IdLocal = local.IdLocal;
                    dpl.State   = true;
                    db.DishesPerLocal.Add(dpl);
                }
                db.SaveChanges();
                return(RedirectToAction("Index", "Locals", new { id = dish.IdRestaurant }));
            }
            model.restaurant = db.Restaurant.Find(model.idRestaurant);
            return(View(model));
        }
        public ActionResult Create(string name)
        {
            Models.Type type = new Models.Type();
            if (!(db.Type.Any(o => o.Name == name)) && name != "")
            {
                type.Name = name;
                db.Type.Add(type);
                db.SaveChanges();

                return(Content((type.IdType).ToString()));
            }

            throw new Exception("oh no");
        }
 public ActionResult Create(Review review)
 {
     if (ModelState.IsValid)
     {
         var idCustomer = (((MyIdentity.MyPrincipal)System.Web.HttpContext.Current.User).Identity as MyIdentity).User.IdCard;
         review.IdCustomer = idCustomer;
         review.Date       = DateTime.Now;
         db.Review.Add(review);
         db.SaveChanges();
         return(RedirectToAction("Index", "Checks"));
     }
     return(View(review));
 }
Example #6
0
        public ActionResult UserProfile(ProfileEditViewModel model)
        {
            bool     error      = false;
            var      identity   = (System.Web.HttpContext.Current.User as MyIdentity.MyPrincipal).Identity as MyIdentity;
            User     loggedUser = db.User.FirstOrDefault(a => a.IdCard.Equals(identity.User.IdCard));
            Customer customer   = db.Customer.Find(identity.User.IdCard);

            model.Activity = "";
            model.Change   = "";
            model.Settings = "active";
            error          = (model.profileData.AccountNumber != customer.AccountNumber) ? !ValidateAccountNumber(model.profileData.AccountNumber) : error;
            error          = (model.profileData.IdCard != identity.User.IdCard) ? !ValidateIdCard(model.profileData.IdCard) : error;
            error          = (model.profileData.Username != identity.User.Username && !error) ? !ValidateUserName(model.profileData.Username) : error;
            model.Timeline = db.Review.Where(r => r.IdCustomer == identity.User.IdCard).OrderByDescending(review => review.Date).ToList();

            if (!error && ModelState.IsValid)
            {
                loggedUser.Username        = model.profileData.Username;
                loggedUser.FirstName       = model.profileData.FirstName;
                loggedUser.MiddleName      = model.profileData.MiddleName;
                loggedUser.LastName        = model.profileData.LastName;
                loggedUser.SecondLastName  = model.profileData.SecondLastName;
                loggedUser.IdCard          = model.profileData.IdCard;
                loggedUser.BirthDate       = model.profileData.BirthDate;
                loggedUser.Gender          = model.profileData.Gender;
                loggedUser.Nationality     = model.profileData.Nationality;
                db.Entry(loggedUser).State = EntityState.Modified;

                customer.AccountNumber   = model.profileData.AccountNumber;
                db.Entry(customer).State = EntityState.Modified;
                db.SaveChanges();
                TempData["Success"] = "Profile correctly updated.";

                return(View(model));
            }

            ViewBag.Nationality = new SelectList(db.Country, "IdCountry", "Name", loggedUser.Nationality);
            return(View(model));
        }
Example #7
0
        public JsonResult Follow(int?id)
        {
            if (id == null)
            {
                Json(false);
            }
            User     friendUser     = db.User.Find(id);
            Customer friendCustomer = db.Customer.Find(id);

            if (friendUser == null && !IsACustomer(id))
            {
                return(Json(new JsonResponse {
                    Success = false, Message = "Not a valid user."
                }));
            }
            var      identity       = ((System.Web.HttpContext.Current.User as MyIdentity.MyPrincipal).Identity as MyIdentity);
            Customer loggedCustomer = db.Customer.Find(identity.User.IdCard);

            loggedCustomer.Customer1.Add(friendCustomer);
            db.SaveChanges();
            return(Json(true));
        }
 public ActionResult Cancel(int?id)
 {
     try
     {
         Check cancelCheck = db.Check.Find(id);
         cancelCheck.Balance         = 0;
         cancelCheck.State           = "Canceled";
         db.Entry(cancelCheck).State = EntityState.Modified;
         db.SaveChanges();
         TempData["Success"] = "Correct.";
     }
     catch (Exception e)
     {
         TempData["Error"] = "There was an error canceling the check.";
         ModelState.AddModelError("", "");
     }
     return(RedirectToAction("Index", "Checks"));
 }
Example #9
0
        public ActionResult Create(localRegister dataModel)
        {
            if (!ModelState.IsValid || dataModel.local.IdDistrict == 0)
            {
                if (dataModel.local.IdDistrict == 0)
                {
                    TempData["Error"] = "Please select a District.";
                }
                ViewBag.IdDistrict   = new SelectList(db.District, "IdDistrict", "Name");
                ViewBag.IdRestaurant = new SelectList(db.Restaurant, "IdRestaurant", "Name");

                localRegister model = new localRegister();
                model.restaurant       = db.Restaurant.Find(dataModel.idRestaurant);
                model.idRestaurant     = dataModel.idRestaurant;
                model.menu             = GetMenuLocal(dataModel.idRestaurant);
                model.uploadFilesNames = String.Empty;
                model.local            = new Local();
                return(View(model));
            }


            using (var dbTran = db.Database.BeginTransaction())
            {
                try
                {
                    int idLocal = Convert.ToInt32(db.PR_CreateLocal(dataModel.idRestaurant, dataModel.local.IdDistrict,
                                                                    dataModel.local.Detail, dataModel.local.Latitude, dataModel.local.Longitude).ToList()[0]);

                    if (dataModel.menu != null)
                    {
                        foreach (DishLocal localDish in dataModel.menu)
                        {
                            DishesPerLocal tmpDishesPerLocal = new DishesPerLocal();
                            tmpDishesPerLocal.IdLocal = idLocal;
                            tmpDishesPerLocal.IdDish  = localDish.idDish;
                            tmpDishesPerLocal.State   = localDish.state;
                            db.DishesPerLocal.Add(tmpDishesPerLocal);
                        }
                    }
                    Local tmpLocal = db.Local.Find(idLocal);

                    for (int i = 1; i <= dataModel.cantMesas; i++)
                    {
                        Table tmpTable = new Table();
                        tmpTable.IdLocal         = tmpLocal.IdLocal;
                        tmpTable.DistinctiveName = i.ToString();
                        db.Table.Add(tmpTable);
                    }

                    if (dataModel.uploadFilesNames != null)
                    {
                        string[] uploadFiles = dataModel.uploadFilesNames.Split(',');
                        for (int i = 0; i < Request.Files.Count; i++)
                        {
                            HttpPostedFileBase tmpFile = Request.Files[i];
                            if (tmpFile != null && uploadFiles.Any(name => name == tmpFile.FileName) && uploadFiles.Length > 0)
                            {
                                byte[] dbImage  = FileUpload(tmpFile);
                                Photo  tmpPhoto = new Photo();
                                tmpPhoto.Photo1 = dbImage;
                                db.Photo.Add(tmpPhoto);

                                tmpLocal.Photo.Add(tmpPhoto);
                                tmpPhoto.Local.Add(tmpLocal);
                                uploadFiles = uploadFiles.Where(name => name != tmpFile.FileName).ToArray();
                            }
                        }
                    }

                    db.SaveChanges();
                    dbTran.Commit();
                    TempData["Success"] = "Local created successfully";
                    return(RedirectToAction("Index", "Locals", new { id = dataModel.idRestaurant }));
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    TempData["Error"] = ex.ToString();
                    return(RedirectToAction("Create", "Locals", new { id = dataModel.idRestaurant }));
                }
            }
        }