コード例 #1
0
ファイル: AdminPeriod.razor.cs プロジェクト: fphgov/varolista
        protected async Task HandleSubmit()
        {
            PeriodVMEditContext = new EditContext(AdminPeriodVM);

            if (PeriodVMEditContext.Validate())
            {
                var period = (await PeriodService.GetAsync(x => x.Year == AdminPeriodVM.PeriodeStartDate.Year)).FirstOrDefault();

                if (period != null)
                {
                    period.Description      = AdminPeriodVM.Description.Trim();
                    period.PeriodeStartDate = AdminPeriodVM.PeriodeStartDate;
                    period.PeriodeEndDate   = AdminPeriodVM.PeriodeEndDate;
                    period.PeriodValue      = (decimal)AdminPeriodVM.PeriodValue;
                    PeriodService.Update(period);
                }
                else
                {
                    period = new Period
                    {
                        Year             = AdminPeriodVM.PeriodeStartDate.Year,
                        Description      = AdminPeriodVM.Description.Trim(),
                        PeriodeStartDate = AdminPeriodVM.PeriodeStartDate,
                        PeriodeEndDate   = AdminPeriodVM.PeriodeEndDate,
                        PeriodValue      = (decimal)AdminPeriodVM.PeriodValue,
                        BudgetFrames     = new List <BudgetFrame>()
                    };

                    var regions = await RegionService.GetAsync();

                    var services = await ServiceService.GetAsync(x =>
                                                                 x.ServiceTypeDate <= AdminPeriodVM.PeriodeStartDate &&
                                                                 x.IsActive);

                    foreach (var region in regions)
                    {
                        foreach (var service in services)
                        {
                            period.BudgetFrames.Add(
                                new BudgetFrame
                            {
                                RegionId = region.Id,
                                Year     = AdminPeriodVM.PeriodeStartDate.Year,
                                Service  = service,
                                Head     = 0,
                                Value    = 0
                            });
                        }
                    }
                    await PeriodService.AddAsync(period);
                }
                await PeriodService.SaveChangesAsync(AppUser.Instance.FullName);

                PeriodVMs = Mapper.Map <IEnumerable <PeriodVM> >(await PeriodService.GetAsync());
                ToggleView();
            }
            StateHasChanged();
        }
コード例 #2
0
 public ActionResult Edit(int id, Period period)
 {
     try
     {
         periodService.Update(period);
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
コード例 #3
0
 private async void Save()
 {
     if (!PeriodContext.Validate())
     {
         return;
     }
     if (IsEdit)
     {
         if (await PeriodService.Update(Period.Id, Model))
         {
             Dialog.Close(DialogResult.Ok(true));
         }
     }
     else
     {
         if (await PeriodService.Create(Model))
         {
             Dialog.Close(DialogResult.Ok(true));
         }
     }
 }