示例#1
0
        public ActionResult DeletePackage(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            WeddingPackageViewModel package = new WeddingPackageViewModel();
            var response = client.GetAsync("WeddingPackages/" + id);

            response.Wait();
            var result = response.Result;

            if (result.IsSuccessStatusCode)
            {
                var read = result.Content.ReadAsStringAsync();
                read.Wait();
                var     service = read.Result;
                JObject jObject = JObject.Parse(service);
                package = PackageModel(jObject);
            }
            if (package == null)
            {
                return(HttpNotFound());
            }
            return(View(package));
        }
示例#2
0
        public List <WeddingPackageViewModel> PackageList()
        {
            List <WeddingPackageViewModel> packageList = new List <WeddingPackageViewModel>();
            WeddingPackageViewModel        package     = new WeddingPackageViewModel();
            var userId   = User.Identity.GetUserId();
            var couple   = db.Couples.Where(c => c.ApplicationId == userId).Select(c => c).SingleOrDefault();
            var response = client.GetAsync("WeddingPackages");

            response.Wait();
            var result = response.Result;

            if (result.IsSuccessStatusCode)
            {
                var read = result.Content.ReadAsStringAsync();
                read.Wait();
                JArray jObject = JArray.Parse(read.Result);
                foreach (var item in jObject)
                {
                    package = PackageModel(item);
                    if (package.CouplesId == couple.CoupleId)
                    {
                        packageList.Add(package);
                    }
                }
            }
            return(packageList);
        }
示例#3
0
        public ActionResult EditPackage(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            WeddingPackageViewModel package = GetOneRequest(id);

            if (package == null)
            {
                return(HttpNotFound());
            }
            return(View(package));
        }
示例#4
0
        public WeddingPackageViewModel PackageModel(JToken token)
        {
            WeddingPackageViewModel package = new WeddingPackageViewModel()
            {
                Id                   = (int)token["Id"],
                AllowsDecor          = (bool?)token["AllowsDecor"],
                ThirdPartyCatering   = (bool?)token["ThirdPartyCatering"],
                ThirdPartyCelebrant  = (bool?)token["ThirdPartyCelebrant"],
                ThirdPartyDJ         = (bool?)token["ThirdPartyDJ"],
                LGBTQFriendly        = (bool?)token["LGBTQFriendly"],
                ServesCohabitants    = (bool?)token["ServesCohabitants"],
                KidFriendly          = (bool?)token["KidFriendly"],
                PetFriendly          = (bool?)token["PetFriendly"],
                WheelchairAccessible = (bool?)token["WheelchairAccessible"],
                FoodAllergyOptions   = (bool?)token["FoodAllergyOptions"],
                Vegan                = (bool?)token["Vegan"],
                FoodIndian           = (bool?)token["FoodIndian"],
                FoodItalian          = (bool?)token["FoodItalian"],
                FoodChinese          = (bool?)token["FoodChinese"],
                FoodMediterranean    = (bool?)token["FoodMediterranean"],
                FoodMexican          = (bool?)token["FoodMexican"],
                FoodFrench           = (bool?)token["FoodFrench"],
                FoodAmerican         = (bool?)token["FoodAmerican"],
                FoodOther            = (bool?)token["FoodOther"],
                GenrePop             = (bool?)token["GenrePop"],
                GenreRB              = (bool?)token["GenreRB"],
                GenreRap             = (bool?)token["GenreRap"],
                GenreRock            = (bool?)token["GenreRock"],
                GenreCountry         = (bool?)token["GenreCountry"],
                GenreDance           = (bool?)token["GenreDance"],
                GenreTechno          = (bool?)token["GenreTechno"],
                GenreMetal           = (bool?)token["GenreMetal"],
                GenreInternational   = (bool?)token["GenreInternational"],
                GenreOther           = (bool?)token["GenreOther"],
                Judaism              = (bool?)token["Judaism"],
                Sikhism              = (bool?)token["Sikhism"],
                Hinduism             = (bool?)token["Hinduism"],
                Islamic              = (bool?)token["Islamic"],
                NonDenominational    = (bool?)token["NonDenominational"],
                Catholicism          = (bool?)token["Catholicism"],
                Lutheranism          = (bool?)token["Lutheranism"],
                Buddhism             = (bool?)token["Buddhism"],
                ReligionOther        = (bool?)token["ReligionOther"],
                CouplesId            = (int?)token["CouplesId"],
                EstimatedTotal       = (double?)token["EstimatedTotal"]
            };

            return(package);
        }
示例#5
0
        public WeddingPackageViewModel GetOneRequest(int?id)
        {
            WeddingPackageViewModel package = new WeddingPackageViewModel();
            var response = client.GetAsync("WeddingPackages/" + id);

            response.Wait();
            var result = response.Result;

            if (result.IsSuccessStatusCode)
            {
                var read = result.Content.ReadAsStringAsync();
                read.Wait();
                JObject jObject = JObject.Parse(read.Result);
                package = PackageModel(jObject);
            }
            return(package);
        }
示例#6
0
 public ActionResult MakePackage(WeddingPackageViewModel weddingPackage)
 {
     if (ModelState.IsValid)
     {
         weddingPackage = SetNullValues(weddingPackage);
         var userId = User.Identity.GetUserId();
         var user   = db.Couples.Where(c => c.ApplicationId == userId).Select(c => c).SingleOrDefault();
         weddingPackage.CouplesId = user.CoupleId;
         string json     = JsonConvert.SerializeObject(weddingPackage);
         var    response = client.PostAsync("WeddingPackages", new StringContent(json, Encoding.UTF8, "application/json"));
         response.Wait();
         var result = response.Result;
         if (result.IsSuccessStatusCode)
         {
             return(RedirectToAction("Packages"));
         }
     }
     return(View());
 }
示例#7
0
        public WeddingPackageViewModel SetNullValues(WeddingPackageViewModel package)
        {
            Type type = typeof(WeddingPackageViewModel);

            PropertyInfo[] properties = type.GetProperties();
            foreach (var item in properties)
            {
                if (item.GetValue(package) == null)
                {
                    if (item.PropertyType.Equals(typeof(bool?)) == true)
                    {
                        item.SetValue(package, false);
                    }
                    else if (item.PropertyType.Equals(typeof(double?)) == true)
                    {
                        item.SetValue(package, 0.00);
                    }
                }
            }
            return(package);
        }
示例#8
0
        private List <WeddingPackageViewModel> GetWedding()
        {
            List <WeddingPackageViewModel> packageList = new List <WeddingPackageViewModel>();
            WeddingPackageViewModel        package     = new WeddingPackageViewModel();
            var response = client.GetAsync("WeddingPackages");

            response.Wait();
            var result = response.Result;

            if (result.IsSuccessStatusCode)
            {
                var read = result.Content.ReadAsStringAsync();
                read.Wait();
                JArray jObject = JArray.Parse(read.Result);
                foreach (var item in jObject)
                {
                    package = PackageModel(item);
                    packageList.Add(package);
                }
            }
            return(packageList);
        }
示例#9
0
        private List <VendorViewModel> FilterVendors(List <VendorViewModel> vendorList, string type, Dictionary <string, bool?> trueValOfCoupleRelig, WeddingPackageViewModel couplesPackage)
        {
            List <VendorViewModel> packages = new List <VendorViewModel>();

            foreach (var item in vendorList)
            {
                var itemPropList = GetListOfTrueReliForVendor(item);

                switch (type)
                {
                case "Venue":
                    var count = 0;
                    foreach (var property in trueValOfCoupleRelig)
                    {
                        foreach (var prop in itemPropList)
                        {
                            if ((prop.Key == property.Key && prop.Value == property.Value) && (item.LGBTQFriendly == couplesPackage.LGBTQFriendly))
                            {
                                if (((couplesPackage.ThirdPartyCatering == true && item.ThirdPartyCatering == true) || couplesPackage.ThirdPartyCatering == false) &&
                                    ((couplesPackage.ThirdPartyCelebrant == true && item.ThirdPartyCelebrant == true) || couplesPackage.ThirdPartyCelebrant == false) &&
                                    ((couplesPackage.ThirdPartyDJ == true && item.ThirdPartyDJ == true) || couplesPackage.ThirdPartyDJ == false) &&
                                    ((couplesPackage.KidFriendly == true && item.KidFriendly == true) || couplesPackage.KidFriendly == false) &&
                                    ((couplesPackage.PetFriendly == true && item.PetFriendly == true) || couplesPackage.PetFriendly == false) &&
                                    ((couplesPackage.ServesCohabitants == true && item.ServesCohabitants == true) || couplesPackage.ServesCohabitants == false) &&
                                    ((couplesPackage.WheelchairAccessible == true && item.HandicapAccessible == true) || couplesPackage.WheelchairAccessible == false))
                                {
                                    count++;
                                    break;
                                }
                            }
                        }
                        if (count >= trueValOfCoupleRelig.Count)
                        {
                            packages.Add(item);
                            count = 0;
                        }
                    }
                    break;

                case "DJ":
                    if ((item.GenreTechno == couplesPackage.GenreTechno || item.GenreRock == couplesPackage.GenreRock ||
                         item.GenreRB == couplesPackage.GenreRB || item.GenreRap == couplesPackage.GenreRap ||
                         item.GenrePop == couplesPackage.GenrePop || item.GenreOther == couplesPackage.GenreOther ||
                         item.GenreMetal == couplesPackage.GenreMetal || item.GenreInternational == couplesPackage.GenreInternational ||
                         item.GenreDance == couplesPackage.GenreDance || item.GenreCountry == couplesPackage.GenreCountry) &&
                        (item.LGBTQFriendly == couplesPackage.LGBTQFriendly))
                    {
                        packages.Add(item);
                    }
                    break;

                case "Celebrant":
                    var count2 = 0;
                    foreach (var property in trueValOfCoupleRelig)
                    {
                        foreach (var prop in itemPropList)
                        {
                            if ((prop.Key == property.Key && prop.Value == property.Value) && (item.LGBTQFriendly == couplesPackage.LGBTQFriendly) &&
                                ((couplesPackage.ServesCohabitants == true && item.ServesCohabitants == true) || couplesPackage.ServesCohabitants == false))
                            {
                                count2++;
                                break;
                            }
                        }
                        if (count2 >= trueValOfCoupleRelig.Count)
                        {
                            packages.Add(item);
                            count = 0;
                        }
                    }
                    break;

                case "Caterer":
                    if ((item.FoodOther == couplesPackage.FoodOther || item.FoodMexican == couplesPackage.FoodMexican ||
                         item.FoodMediterranean == couplesPackage.FoodMediterranean || item.FoodItalian == couplesPackage.FoodItalian ||
                         item.FoodIndian == couplesPackage.FoodIndian || item.FoodFrench == couplesPackage.FoodFrench ||
                         item.FoodChinese == couplesPackage.FoodChinese || item.FoodAmerican == couplesPackage.FoodAmerican) && (item.LGBTQFriendly == couplesPackage.LGBTQFriendly))
                    {
                        if ((couplesPackage.Vegan == true && item.ServesVegan == couplesPackage.Vegan) &&
                            ((couplesPackage.FoodAllergyOptions == true && item.FoodAllergyOptions == couplesPackage.FoodAllergyOptions) || couplesPackage.FoodAllergyOptions == false))
                        {
                            packages.Add(item);
                        }
                        else if ((couplesPackage.Vegan == false) &&
                                 ((couplesPackage.FoodAllergyOptions == true && item.FoodAllergyOptions == couplesPackage.FoodAllergyOptions) || couplesPackage.FoodAllergyOptions == false))
                        {
                            packages.Add(item);
                        }
                    }
                    break;

                case "Photographer":
                    if (item.LGBTQFriendly == couplesPackage.LGBTQFriendly)
                    {
                        packages.Add(item);
                    }
                    break;

                default:
                    break;
                }
            }
            return(packages);
        }