Example #1
0
        public ActionResult Edit(MedicalVendorEditModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    model.OrganizationEditModel.LogoImage = FileObject(model.OrganizationEditModel.Name, "organization_logo", _mediaRepository.GetOrganizationLogoImageFolderLocation(), model.OrganizationEditModel.LogoImage != null ? model.OrganizationEditModel.LogoImage.Id : 0);
                    model.ResultLetterCoBrandingFile      = FileObject(model.OrganizationEditModel.Name, "result_letter", _mediaRepository.GetOrganizationResultLetterFolderLocation(), model.ResultLetterCoBrandingFile != null ? model.ResultLetterCoBrandingFile.Id : 0);

                    model.DoctorLetterFile = FileObject(model.OrganizationEditModel.Name, "doctor_letter", _mediaRepository.GetOrganizationDoctorLetterFolderLocation(), model.DoctorLetterFile != null ? model.DoctorLetterFile.Id : 0);

                    var attachedEventIds = _hospitalPartnerRepository.GetAttachedHospitalMaterialEventIdsForHospitalPartner(model.OrganizationEditModel.Id);
                    if (model.ResultLetterCoBrandingFile == null && attachedEventIds.Count() > 0)
                    {
                        model.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("You can not remove result letter since event(s) are attached to it.");
                        return(View(model));
                    }
                    model.OrganizationEditModel.OrganizationType = OrganizationType.MedicalVendor;

                    _organizationService.CreateMedicalVendor(model);

                    model.FeedbackMessage = FeedbackMessageModel.CreateSuccessMessage(string.Format("The medical vendor {0} was saved successfully.", model.OrganizationEditModel.Name));

                    SetPackageAndTerritory(model);
                    return(View(model));
                }
                SetPackageAndTerritory(model);
                return(View(model));
            }
            catch (Exception ex)
            {
                SetPackageAndTerritory(model);
                model.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("System Failure. Message: " + ex.Message);
                return(View(model));
            }
        }