public async Task<ActionResult> Add(AddFacilityViewModel model, bool? backToOverview = null)
        {
            if (!ModelState.IsValid)
            {
                await this.BindCountryList(mediator, false);
                return View(model);
            }

            try
            {
                await mediator.SendAsync(model.ToRequest());

                if (model.IsAddedToAddressBook)
                {
                    await mediator.SendAsync(addFacilityAddressBookMap.Map(model));
                }

                return RedirectToAction("List", "Facility",
                    new { id = model.NotificationId, backToOverview });
            }
            catch (ApiBadRequestException ex)
            {
                this.HandleBadRequest(ex);
                if (ModelState.IsValid)
                {
                    throw;
                }
            }
            await this.BindCountryList(mediator, false);
            return View(model);
        }
Beispiel #2
0
 public AddAddressBookEntry Map(AddFacilityViewModel source)
 {
     return(new AddAddressBookEntry
     {
         Address = source.Address,
         Business = source.Business.ToBusinessInfoData(),
         Contact = source.Contact,
         Type = AddressRecordType.Facility
     });
 }
Beispiel #3
0
        public async Task Add_InvalidModel_ReturnsView()
        {
            var model = new AddFacilityViewModel();

            facilityController.ModelState.AddModelError("Test", "Error");

            var result = await facilityController.Add(model) as ViewResult;

            Assert.Equal(string.Empty, result.ViewName);
        }
 public AddFacilityView(FacilityListViewModel facilityListViewModel,
                        FacilityService facilityService,
                        PhysicianService physicianService,
                        FacilityPhysicianService facilityPhysicianService)
 {
     _toAddFacility = new AddFacilityViewModel(facilityListViewModel,
                                               facilityService,
                                               physicianService,
                                               facilityPhysicianService);
     DataContext = _toAddFacility;
     InitializeComponent();
 }
        public async Task<ActionResult> Add(Guid id, bool? backToOverview = null)
        {
            var facility = new AddFacilityViewModel();

            var response =
                await mediator.SendAsync(new GetNotificationBasicInfo(id));
            facility.NotificationType = response.NotificationType;
            facility.NotificationId = id;

            await this.BindCountryList(mediator, false);
            facility.Address.DefaultCountryId = this.GetDefaultCountryId();

            return View(facility);
        }
Beispiel #6
0
        public async Task <ActionResult> Add(Guid id, bool?backToOverview = null)
        {
            var facility = new AddFacilityViewModel();

            var response =
                await mediator.SendAsync(new GetNotificationBasicInfo(id));

            facility.NotificationType = response.NotificationType;
            facility.NotificationId   = id;

            await this.BindCountryList(mediator, false);

            facility.Address.DefaultCountryId = this.GetDefaultCountryId();

            return(View(facility));
        }
Beispiel #7
0
        public async Task <ActionResult> Add(AddFacilityViewModel model, bool?backToOverview = null)
        {
            if (!ModelState.IsValid)
            {
                await this.BindCountryList(mediator, false);

                return(View(model));
            }

            try
            {
                await mediator.SendAsync(model.ToRequest());

                await this.auditService.AddAuditEntry(this.mediator,
                                                      model.NotificationId,
                                                      User.GetUserId(),
                                                      NotificationAuditType.Added,
                                                      model.NotificationType == NotificationType.Disposal?NotificationAuditScreenType.DisposalFacilities : NotificationAuditScreenType.RecoveryFacilities);

                if (model.IsAddedToAddressBook)
                {
                    await mediator.SendAsync(addFacilityAddressBookMap.Map(model));
                }

                return(RedirectToAction("List", "Facility",
                                        new { id = model.NotificationId, backToOverview }));
            }
            catch (ApiBadRequestException ex)
            {
                this.HandleBadRequest(ex);
                if (ModelState.IsValid)
                {
                    throw;
                }
            }
            await this.BindCountryList(mediator, false);

            return(View(model));
        }
        public async Task Add_InvalidModel_ReturnsView()
        {
            var model = new AddFacilityViewModel();

            facilityController.ModelState.AddModelError("Test", "Error");

            var result = await facilityController.Add(model) as ViewResult;

            Assert.Equal(string.Empty, result.ViewName);
        }