示例#1
0
        public ActionResult UpdateBusiness(UpdateBusinessViewModel viewModel)
        {
            using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
            {
                var business = _businessService.Get(viewModel.Id);  //need to use slug/or check is guid is modified
                if (business != null)
                {
                    var loggedOnUserId = LoggedOnReadOnlyUser?.Id ?? Guid.Empty;
                    var admin          = MembershipService.Get(loggedOnUserId);
                    var settings       = SettingsService.GetSettings();
                    var allMemberships = MembershipService.GetAll();
                    //query for User dropdown
                    var allMembersViewModel = allMemberships.Select(ViewModelMapping.UserToSingleMemberListViewModel).ToList();
                    //Load dropdowns:
                    ListBooleanViewModel booleanViewModel = new ListBooleanViewModel()
                    {
                        ListBoolean = SettingsService.ListOfBoolean().ToList()
                    };
                    StatesViewModel statesViewModel = new StatesViewModel()
                    {
                        allStates = SettingsService.ListOfStates().ToList()
                    };
                    AllClassificationsViewModel classificationViewModel = new AllClassificationsViewModel()
                    {
                        allClassifications = _classificationService.GetAllClassifications().ToList()
                    };
                    AllMembershipLevelViewModel membershipLevelViewModel = new AllMembershipLevelViewModel()
                    {
                        allMembershipLevels = _membershipLevelService.GetAllMembershipLevels().ToList()
                    };
                    AllMembersListViewModel membersListViewModel = new AllMembersListViewModel()
                    {
                        AllMembershipUsersList = allMembersViewModel
                    };

                    // Sort image out first
                    if (viewModel.Files != null)
                    {
                        // Before we save anything, check the user already has an upload folder and if not create one
                        var uploadFolderPath = HostingEnvironment.MapPath(string.Concat(SiteConstants.Instance.UploadFolderPath, business.Id));
                        if (!Directory.Exists(uploadFolderPath))
                        {
                            Directory.CreateDirectory(uploadFolderPath);
                        }

                        // Loop through each file and get the file info and save to the users folder and Db
                        var file = viewModel.Files[0];
                        if (file != null)
                        {
                            // If successful then upload the file
                            var uploadResult = AppHelpers.UploadFile(file, uploadFolderPath, true);

                            if (!uploadResult.UploadSuccessful)
                            {
                                TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel
                                {
                                    Message     = uploadResult.ErrorMessage,
                                    MessageType = GenericMessages.danger
                                };
                                return(View(viewModel));
                            }
                            // Save avatar to user
                            business.Avatar = uploadResult.UploadedFileName;
                        }
                    }
                    viewModel.Avatar                       = business.Avatar;
                    viewModel._booleanViewModel            = booleanViewModel;
                    viewModel._stateViewModel              = statesViewModel;
                    viewModel._allClassificationsViewModel = classificationViewModel;
                    viewModel._allMembershipLevelViewModel = membershipLevelViewModel;
                    viewModel._allMembersListViewModel     = membersListViewModel;

                    business.Id              = viewModel.Id;
                    business.Name            = viewModel.Name; //Need to check for duplicates (look at edit DisplayName)
                    business.MailingAddress  = viewModel.MailingAddress;
                    business.MailingCity     = viewModel.MailingCity;
                    business.MailingState    = viewModel.MailingState;
                    business.MailingZipcode  = viewModel.MailingZipcode;
                    business.PhysicalAddress = viewModel.PhysicalAddress;
                    business.PhysicalCity    = viewModel.PhysicalCity;
                    business.PhysicalState   = viewModel.PhysicalState;
                    business.PhysicalZipcode = viewModel.PhysicalZipcode;
                    business.Active          = viewModel.Active;
                    business.Completed       = viewModel.Completed;
                    business.Description     = viewModel.Description;
                    business.Phone           = viewModel.Phone;
                    business.WebAddress      = viewModel.WebAddress;

                    if (viewModel.Classification_Id != null)
                    {
                        var classification = _classificationService.GetById(viewModel.Classification_Id);
                        business.Classification = classification;
                    }
                    if (viewModel.MembershipLevel_Id != null)
                    {
                        var membershipLevel = _membershipLevelService.GetById(viewModel.MembershipLevel_Id);
                        business.MembershipLevel = membershipLevel;
                    }
                    if (viewModel.MembershipUser_Id != null)
                    {
                        var membershipUser = MembershipService.Get(viewModel.MembershipUser_Id);
                        business.User = membershipUser;
                    }
                    try
                    {
                        _businessService.AdminBusinessUpdated(business, admin);
                        unitOfWork.Commit();
                        ShowMessage(new AdminGenericMessageViewModel
                        {
                            Message     = "Saving the business information was successful.",
                            MessageType = GenericMessages.success
                        });
                    }
                    catch (Exception ex)
                    {
                        unitOfWork.Rollback();
                        //LoggingService.Error(ex);
                        TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel
                        {
                            Message     = "Saving the business information failed.  Try again or contact Administrator.",
                            MessageType = GenericMessages.danger
                        };
                    }
                    return(View(viewModel));
                }

                TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel
                {
                    Message     = "Saving the business information failed.  Try again or contact Administrator.",
                    MessageType = GenericMessages.danger
                };
                return(RedirectToAction("Index", "Admin", new { area = "Admin" }));
            }
        }
示例#2
0
        public ActionResult UpdateBusiness(Guid id)
        {
            using (UnitOfWorkManager.NewUnitOfWork())
            {
                var business = _businessService.Get(id);
                if (business != null)
                {
                    var loggedOnUserId      = LoggedOnReadOnlyUser?.Id ?? Guid.Empty;
                    var settings            = SettingsService.GetSettings();
                    var allMemberships      = MembershipService.GetAll();
                    var allMembersViewModel = allMemberships.Select(ViewModelMapping.UserToSingleMemberListViewModel).ToList();

                    ListBooleanViewModel booleanViewModel = new ListBooleanViewModel()
                    {
                        ListBoolean = SettingsService.ListOfBoolean().ToList()
                    };
                    StatesViewModel statesViewModel = new StatesViewModel()
                    {
                        allStates = SettingsService.ListOfStates().ToList()
                    };
                    AllClassificationsViewModel classificationViewModel = new AllClassificationsViewModel()
                    {
                        allClassifications = _classificationService.GetAllClassifications().ToList()
                    };
                    AllMembershipLevelViewModel membershipLevelViewModel = new AllMembershipLevelViewModel()
                    {
                        allMembershipLevels = _membershipLevelService.GetAllMembershipLevels().ToList()
                    };
                    AllMembersListViewModel membersListViewModel = new AllMembersListViewModel()
                    {
                        AllMembershipUsersList = allMembersViewModel
                    };
                    UpdateBusinessViewModel viewModel = new UpdateBusinessViewModel()
                    {
                        Id                           = business.Id,
                        Name                         = business.Name,
                        MailingAddress               = business.MailingAddress,
                        MailingCity                  = business.MailingCity,
                        MailingState                 = business.MailingState,
                        MailingZipcode               = business.MailingZipcode,
                        PhysicalAddress              = business.PhysicalAddress,
                        PhysicalCity                 = business.PhysicalCity,
                        PhysicalState                = business.PhysicalState,
                        PhysicalZipcode              = business.PhysicalZipcode,
                        Active                       = business.Active,
                        Completed                    = business.Completed,
                        Description                  = business.Description,
                        Avatar                       = business.Avatar,
                        Phone                        = business.Phone,
                        WebAddress                   = business.WebAddress,
                        _booleanViewModel            = booleanViewModel,
                        _stateViewModel              = statesViewModel,
                        _allClassificationsViewModel = classificationViewModel,
                        _allMembershipLevelViewModel = membershipLevelViewModel,
                        _allMembersListViewModel     = membersListViewModel
                    };
                    if (business.Classification != null)
                    {
                        viewModel.Classification_Id = business.Classification.Id;
                    }
                    if (business.MembershipLevel != null)
                    {
                        viewModel.MembershipLevel_Id = business.MembershipLevel.Id;
                    }
                    if (business.User != null)
                    {
                        viewModel.MembershipUser_Id = business.User.Id;
                    }
                    return(View(viewModel));
                }
                TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel
                {
                    Message     = "Loading the business information failed.  Try again or contact Administrator.",
                    MessageType = GenericMessages.success
                };
                return(RedirectToAction("Index", "Admin", new { area = "Admin" }));
            }
        }