示例#1
0
        public void EditScheme(SpecialSchemeViewModel model)
        {
            var enumMonth = (Months)model.SpecialScheme.DisplayMonthId;
            var currentDate = DateTime.Now;
            var month = currentDate.Month > model.SpecialScheme.DisplayMonthId
                          ? masterService.FindAndCreateMonth(enumMonth.ToString(), currentDate.AddYears(1).Year)
                          : masterService.FindAndCreateMonth(enumMonth.ToString(), currentDate.Year);

            var specialScheme = SpecialSchemeModel.ToDomainModel(model.SpecialScheme);
            specialScheme.MonthId = month.Id;
            if (specialScheme.Id > 0) {
                masterService.UpdateSpecialScheme(specialScheme);
            } else {
                var regionIds = new[] { model.SpecialScheme.RegionId ?? 0 }.ToList();
                var stateIds = new[] { model.SpecialScheme.StateId ?? 0 }.ToList();
                var dealerIds = new[] { model.SpecialScheme.DealerId ?? 0 }.ToList();
                if (model.SpecialScheme.RegionId.HasValue && model.SpecialScheme.RegionId > 0) {
                    if (model.SpecialScheme.StateId.HasValue && model.SpecialScheme.StateId > 0) {
                        if (model.SpecialScheme.DealerId.HasValue && model.SpecialScheme.DealerId <= 0) {
                            dealerIds = masterService.FindDealers(x => x.StateId == model.SpecialScheme.StateId).Select(x => x.Id).ToList();
                        }
                    } else {
                        stateIds = masterService.FindStates(x => x.RegionId == model.SpecialScheme.RegionId).Select(x => x.Id).ToList();
                        dealerIds = masterService.FindDealers(x => stateIds.Contains(x.StateId)).Select(x => x.Id).ToList();
                    }
                } else {
                    regionIds = masterService.GetAllRegions().Select(x => x.Id).ToList();
                    stateIds = masterService.FindStates(x => regionIds.Contains(x.RegionId)).Select(x => x.Id).ToList();
                    dealerIds = masterService.FindDealers(x => stateIds.Contains(x.StateId)).Select(x => x.Id).ToList();
                }
                var schemeList = (from region in regionIds from state in stateIds from dealer in dealerIds select new SpecialScheme { Id = 0, Name = specialScheme.Name, RegionId = region, StateId = state, DealerId = dealer, Description = specialScheme.Description, MonthId = month.Id }).ToList();
                masterService.AddSpecialScheme(schemeList);
            }
        }
示例#2
0
 public ActionResult SpecialSchemes()
 {
     var model = new SpecialSchemeViewModel {
         SpecialSchemes = masterService.GetSpecialSchemes().Select(SpecialSchemeModel.FromDomainModel)
     };
     ViewBag.List = Session["BreadcrumbList"];
     return View(model);
 }
示例#3
0
 public ActionResult EditScheme(int id)
 {
     var model = new SpecialSchemeViewModel {
         SpecialScheme = id > 0 ? SpecialSchemeModel.FromDomainModel(masterService.GetSpecialScheme(id)) : new SpecialSchemeModel(),
         Regions = masterService.GetAllRegions().Select(x => new KeyValuePair<int, string>(x.Id, x.Name)).ToList(),
         States = id > 0 ? masterService.GetAllStates().Select(x => new KeyValuePair<int, string>(x.Id, x.Name)).ToList() : new List<KeyValuePair<int, string>>(),
         Dealers = id > 0 ? masterService.GetAllDealers().Select(x => new KeyValuePair<int, string>(x.Id, x.Name)).ToList() : new List<KeyValuePair<int, string>>(),
         Months = Enumeration.GetAll<Months>(),
     };
     model.SpecialScheme.DisplayMonthId = id > 0 ? masterService.GetMonthIndex(model.SpecialScheme.Month.Split('-')[0]) : DateTime.Now.Month;
     return PartialView("EditScheme", model);
 }