Exemple #1
0
        public override int DoLogin(string loginname, string password)
        {
            string       passwordMd5 = EncryptHelper.MD5(password);
            ManagerModel model       = ManagerBLL.Instance.GetModel(loginname, passwordMd5);

            if (model == null)
            {
                return(-1);
            }
            if (model.IsLocked)
            {
                return(0);
            }

            ManagerViewModel viewModel = new ManagerViewModel();

            viewModel.LoginName = model.LoginName;
            viewModel.Password  = model.Password;
            viewModel.RoleType  = (int)HQEnums.ManagerRoleOptions.后台管理员;
            viewModel.IsSuper   = model.IsSuper ? 1 : 0;
            viewModel.ManagerId = model.ManagerId;
            viewModel.AuthFuncs = model.AuthFuncs;
            viewModel.AuthMenus = model.AuthMenus;
            this.WriteCookie(viewModel);

            model.LastLoginIp   = StringHelper.GetClientIp();
            model.LastLoginTime = DateTime.Now;
            ManagerBLL.Instance.Update(model);

            //OperationLogBLL.Instance.AddLog(string.Format("登录,ip:{0}", model.LastLoginIp), HQEnums.OperationLogTypeOptions.登录, 0);
            return(1);
        }
        public void WriteCookie(ManagerViewModel viewModel)
        {
            viewModel.Noncestr = Guid.NewGuid().ToString().Replace("-", "");
            CookieHelper.SetCookieValByCurrentDomain(LM_MANAGER_KEY, 20160, SerializeHelper.BinarySerializeObjectToBase64String <ManagerViewModel>(viewModel));

            CookieHelper.SetCookieValByCurrentDomain(LM_MANAGER_ROLE_KEY, 20160, viewModel.RoleType.ToString());
        }
Exemple #3
0
        public override ManagerViewModel CheckLogin(bool checkExists = true)
        {
            try
            {
                ManagerViewModel manager = this.GetCookie();
                if (!checkExists)
                {
                    return(manager);
                }

                ManagerModel managerDbInfo = ManagerBLL.Instance.GetModel(manager.ManagerId);
                if (managerDbInfo == null || managerDbInfo.IsLocked)
                {
                    return(null);
                }
                manager.AuthMenus = managerDbInfo.AuthMenus;
                manager.AuthFuncs = managerDbInfo.AuthFuncs;
                manager.IsSuper   = managerDbInfo.IsSuper ? 1 : 0;
                return(manager);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
        public ActionResult Create([Bind(Include = "Id,ManagerName")] ManagerViewModel managerViewModel)
        {
            if (string.IsNullOrEmpty(managerViewModel.ManagerName))
            {
                ModelState.AddModelError("ManagerName", "Ваедите имя менеджера");
            }
            else if (managerViewModel.ManagerName.Length < 3)
            {
                ModelState.AddModelError("ManagerName", "Недопустимая длина строки");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    Mapper.Initialize(cfg => cfg.CreateMap <ManagerViewModel, ManagerDTO>());
                    var manager = Mapper.Map <ManagerViewModel, ManagerDTO>(managerViewModel);
                    _managerService.AddManager(manager);
                    return(RedirectToAction("Index"));
                }
                catch (ValidationException ex)
                {
                    ModelState.AddModelError(ex.Property, ex.Message);
                }
            }

            return(View(managerViewModel));
        }
Exemple #5
0
        public ActionResult Assign(ManagerViewModel managerViewModel)
        {
            Requsition requsition = new Requsition();
            Manager    manager    = new Manager();

            manager.Id           = managerViewModel.Id;
            manager.DriverNo     = managerViewModel.DriverNo;
            manager.RequsitionId = managerViewModel.RequsitionId;
            manager.EmployeeId   = managerViewModel.EmployeeId;
            manager.VehicleId    = managerViewModel.VehicleId;

            bool isSaved = managerManager.Add(manager);


            RequsitionAssign(managerViewModel.Id);
            VehicleStatusChange(managerViewModel.VehicleId);
            DriverAssigned(managerViewModel.EmployeeId);


            RequsitionAssign(managerViewModel.Id);
            Complete(managerViewModel.Id);


            if (isSaved)
            {
                TempData["msg"] = "Requsition Assign Successfully";
                return(RedirectToAction("New"));
            }

            return(View());
        }
Exemple #6
0
        public async Task <IActionResult> Register([FromBody] ManagerViewModel body)
        {
            try
            {
                var entity = await _unitOfWork.Managers.GetAsync(u => u.Id == body.Id);

                if (entity != null)
                {
                    return(Payloader.Fail(PayloadCode.Duplication));
                }

                var newEntity = new Manager
                {
                    Id       = body.Id,
                    Password = body.Password,
                };

                await _unitOfWork.Managers.AddAsync(newEntity);

                await _unitOfWork.CommitAsync();

                return(Payloader.Success(_mapper.Map <ManagerViewModel>(newEntity)));
            }
            catch (Exception ex)
            {
                return(Payloader.Error(ex));
            }
        }
        public ActionResult Add_Purches(string mvm, string proName)
        {
            UserDal          dal = new UserDal();
            ManagerViewModel mvv = new ManagerViewModel();

            mvv.Purchase             = new Purchase();
            mvv.Purchase.UserName    = CusName;
            mvv.Purchase.ProductName = proName;

            List <User> objCustomers = dal.Customers.ToList <User>();


            dal.Purchase.Add(mvv.Purchase);
            dal.SaveChanges();

            /*
             * List<Purchase> objPurchases = dal.Purchase.ToList<Purchase>();
             * ManagerViewModel mvv = new ManagerViewModel();
             * mvv.Purchase = new Purchase();
             * mvv.Purchases = objPurchases;
             */


            List <Product>   objProducts = dal.Products.ToList <Product>();
            ProductViewModle cvm         = new ProductViewModle();

            cvm.product  = new Product();
            cvm.Products = objProducts;
            return(View("Enter_Cus", cvm));
        }
Exemple #8
0
        public async Task <IActionResult> AddMember(AddMemberViewModel membersModel)
        {
            if (ModelState.IsValid)
            {
                var currManager = await _userManager.FindByNameAsync(User.Identity.Name);

                var newUser = await _userManager.FindByEmailAsync(membersModel.NewMember);

                var managerUser = new ManagerViewModel()
                {
                    Id = Guid.NewGuid().ToString(), ManagerId = currManager.Id, UserId = newUser.Id
                };
                if (!_managerAppService.Find(managerUser).Result)
                {
                    await _managerAppService.AddMember(managerUser);

                    var usersManager = await _managerAppService.GetAll();

                    var members = new List <IdentityUser>();
                    foreach (var item in usersManager)
                    {
                        if (item.ManagerId == currManager.Id)
                        {
                            var user = await _userManager.FindByIdAsync(item.UserId);

                            members.Add(user);
                        }
                    }
                    return(RedirectToAction("Index", members.ToList()));
                }
            }
            return(View(membersModel));
        }
        public async Task SaveAndUpdateManager()
        {
            var clubsList = new List <Club>
            {
                new Club {
                    Id = 1, Name = "Real Madrid"
                }
            };
            var countriesList = new List <Country> {
                new Country {
                    Id = 1, Name = "Spain", Code = "SP"
                }
            };
            var managersList = new List <Manager>();

            var mockClubRepo = new Mock <IRepository <Club> >();

            mockClubRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => clubsList.FirstOrDefault(c => c.Id == id));

            var mockCountryRepo = new Mock <IRepository <Country> >();

            mockCountryRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => countriesList.FirstOrDefault(c => c.Id == id));

            var mockManagerRepo = new Mock <IRepository <Manager> >();

            mockManagerRepo.Setup(r => r.All()).Returns(managersList.AsQueryable());
            mockManagerRepo.Setup(r => r.AddAsync(It.IsAny <Manager>())).Callback <Manager>(manager => managersList.Add(new Manager
            {
                Id      = 1,
                Name    = manager.Name,
                Country = manager.Country,
                Club    = manager.Club
            }));

            var managerService = new ManagerService(mockManagerRepo.Object, mockCountryRepo.Object, mockClubRepo.Object);

            var managerViewModel = new ManagerViewModel
            {
                Name      = "Zinedin Zidan",
                CountryId = 1,
                ClubId    = 1
            };

            await managerService.CreateAsync(managerViewModel);

            var updatedViewModel = new ManagerViewModel
            {
                Id        = 1,
                Name      = "Newcastle United",
                CountryId = 1,
                ClubId    = 1
            };

            await managerService.UpdateAsync(updatedViewModel);

            var savedManager = managerService.Get(1);

            Assert.Equal(1, savedManager.Id);
            Assert.Equal("Newcastle United", savedManager.Name);
        }
        public async Task <IActionResult> Create(ManagerViewModel managerViewModel)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError(string.Empty, "Data is not valid");

                managerViewModel.CountriesItems = countryService.GetAllAsKeyValuePairs();
                managerViewModel.ClubsItems     = clubService.GetAllAsKeyValuePairs();

                return(View(managerViewModel));
            }

            try
            {
                await managerService.CreateAsync(managerViewModel);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.InnerException?.Message ?? ex.Message);

                managerViewModel.CountriesItems = countryService.GetAllAsKeyValuePairs();
                managerViewModel.ClubsItems     = clubService.GetAllAsKeyValuePairs();

                return(View(managerViewModel));
            }

            TempData["SuccessMessage"] = "Manager added successfully.";

            return(RedirectToAction("Index"));
        }
Exemple #11
0
        public void EditManager()
        {
            var id           = Guid.NewGuid();
            var existing_mgr = new Manager
            {
                mgr_id     = id,
                first_name = "Julie",
                last_name  = "May"
            };

            var updated_mgr = new Manager
            {
                mgr_id     = id,
                first_name = "Julie",
                last_name  = "Maynard"
            };


            var vm = new ManagerViewModel(updated_mgr);

            var mockItem = new Mock <DbSet <Manager> >();

            mockItem.Setup(x => x.Find(id)).Returns(existing_mgr);

            var mockContext = new Mock <ManagerEmpContext>();

            mockContext.Setup(x => x.Manager).Returns(mockItem.Object);

            var controller = new ManagerController(mockContext.Object);

            controller.EditManager(vm);

            mockContext.Verify(x => x.SaveChanges());
            Assert.That(mockContext.Object.Manager.Find(id).last_name == "Maynard");
        }
        public ManagerViewModel GetApprovedServiceTickets()
        {
            var serviceTickets   = db.ServiceTickets.Include("EventTaskList.EventTaskTimes").Where(s => s.ApprovedDate.HasValue);
            var managerViewModel = new ManagerViewModel();

            managerViewModel.ApprovedTickets = new List <UnapprovedServiceTicketViewModel>();

            foreach (var serviceTicket in serviceTickets)
            {
                if (!serviceTicket.EventDate.HasValue || !serviceTicket.EventTaskListId.HasValue)
                {
                    continue;
                }

                var ticket = new UnapprovedServiceTicketViewModel();
                ticket.EventTaskListId = serviceTicket.EventTaskListId.Value;
                ticket.CrewName        = serviceTicket.EventTaskList.Crew.Name;
                ticket.Title           = serviceTicket.EventTaskList.Name;
                ticket.EventDate       = serviceTicket.EventDate.Value;
                var property = serviceTicket.EventTaskList.Property;
                ticket.PropertyAddress = property.Address1 + " " + property.Address2 + " " + property.City.Name + " " + property.State + " " + property.Zip;
                var eventTaskTime = serviceTicket.EventTaskList.EventTaskTimes.FirstOrDefault(e => e.EventDate.Subtract(serviceTicket.EventDate.Value) == TimeSpan.Zero);
                if (eventTaskTime != null)
                {
                    ticket.TaskStartTime = eventTaskTime.StartTime;
                    ticket.TaskEndTime   = eventTaskTime.EndTime;
                }

                managerViewModel.ApprovedTickets.Add(ticket);
            }

            return(managerViewModel);
        }
Exemple #13
0
        public ManagerViewModel Build(Manager manager)
        {
            var viewModel = new ManagerViewModel();

            viewModel.DisplayName = manager.FirstName + " " + manager.LastName + " (" + manager.Title + ")";
            if (viewModel.Responsibilities == null)
            {
                try
                {
                    viewModel.Responsibilities = new List <string>();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            if (manager.Location == "Store" && manager.Title == "Sales Manager")
            {
                viewModel.Responsibilities.Add("Oversee Floor");
                viewModel.Responsibilities.Add("Customer Service");
            }
            else if (manager.Location == "Store")
            {
                viewModel.Responsibilities.Add("Oversee Floor");
            }
            else
            {
                viewModel.Responsibilities.Add("Oversee Warehouse");
            }
            return(viewModel);
        }
Exemple #14
0
        public void DeleteManager()
        {
            var id      = Guid.NewGuid();
            var del_mgr = new Manager()
            {
                mgr_id     = id,
                first_name = "Sam",
                last_name  = "Johnson"
            };

            var vm = new ManagerViewModel(del_mgr);

            var mockItem = new Mock <DbSet <Manager> >();

            mockItem.Setup(x => x.Find(id)).Returns(del_mgr);

            var mockContext = new Mock <ManagerEmpContext>();

            mockContext.Setup(x => x.Manager).Returns(mockItem.Object);

            var controller = new ManagerController(mockContext.Object);

            controller.DeleteManager(id);

            mockContext.Verify(x => x.SaveChanges());
        }
        public async Task UpdateNotExistingManager()
        {
            var clubsList = new List <Club>
            {
                new Club {
                    Id = 1, Name = "Real Madrid"
                }
            };
            var countriesList = new List <Country> {
                new Country {
                    Id = 1, Name = "Spain", Code = "SP"
                }
            };
            var managersList = new List <Manager>();

            var mockClubRepo    = new Mock <IRepository <Club> >();
            var mockCountryRepo = new Mock <IRepository <Country> >();
            var mockManagerRepo = new Mock <IRepository <Manager> >();

            mockManagerRepo.Setup(r => r.All()).Returns(managersList.AsQueryable());

            var managerService = new ManagerService(mockManagerRepo.Object, mockCountryRepo.Object, mockClubRepo.Object);

            var updatedViewModel = new ManagerViewModel
            {
                Id        = 1,
                Name      = "Zinedin Zidan",
                CountryId = 1,
                ClubId    = 1
            };

            await Assert.ThrowsAsync <Exception>(() => managerService.UpdateAsync(updatedViewModel));
        }
Exemple #16
0
        public ActionResult UpdateManager(ManagerViewModel manager)
        {
            var nmanager = Mapper.Map <ManagerRequest>(manager);

            this.ManagerService.UpdateManager(nmanager);
            return(View());
        }
Exemple #17
0
        private bool loadModels()
        {
            CRMSettingViewModel.instance();

            ComplectationItemViewModel.instance();

            EquipmentViewModel.instance();
            ModificationViewModel.instance();
            SellerViewModel.instance();
            BuyerViewModel.instance();
            BidStatusViewModel.instance();
            PaymentStatusViewModel.instance();
            MessageTemplatesViewModel.instance();

            RoleViewModel.instance();
            ManagerViewModel.instance();

            BidViewModel.instance();



            //EquipmentBidViewModel.instance();
            //ComplectationViewModel.instance();

            //ComplectationItemViewModel.instance();

            return(true);
        }
Exemple #18
0
        public async Task <IActionResult> AddMember()
        {
            var currManager = await _userManager.FindByNameAsync(User.Identity.Name);

            var membersModel = new AddMemberViewModel()
            {
                ManagerId = currManager.Id,
                Email     = currManager.Email,
                Members   = new List <string>(),
                NewMember = null
            };

            foreach (var item in _userManager.Users)
            {
                var managerVM = new ManagerViewModel()
                {
                    ManagerId = currManager.Id,
                    UserId    = item.Id
                };
                if (_userManager.IsInRoleAsync(item, "User").Result&& !_managerAppService.Find(managerVM).Result)
                {
                    membersModel.Members.Add(item.Email);
                }
            }
            return(View(membersModel));
        }
Exemple #19
0
        // GET: Manager/Details/
        public async Task <ActionResult> Details()
        {
            try
            {
                int ManagerId = 0;
                if (TempData["ManagerId"] != null)
                {
                    ManagerId = (int)TempData["ManagerId"];
                }
                var entityManager = await _repository.GetManager(ManagerId);

                var viewModel = new ManagerViewModel
                {
                    ManagerID = entityManager.managerID,
                    FirstName = entityManager.firstName,
                    LastName  = entityManager.lastName
                };

                if (!ModelState.IsValid)
                {
                    return(View(nameof(Login)));
                }

                return(View(viewModel));
            }
            catch (InvalidOperationException ex)
            {
                Log.Information("Incorrect Manager Password ");
                ModelState.AddModelError("ManagerID", ex.Message);
                return(View());
            }
        }
Exemple #20
0
        public async Task <JsonResult> AddManager(ManagerViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, Name = model.Name, Status = -1
                };
                var result = await UserManager.CreateAsync(user, model.Password);



                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    var createdUser = Utils.ExecuteTable(SQLCommands.GetUserEmail(model.Email));
                    var list        = Utils.DataTableToList <AspNetUser>(createdUser);
                    Utils.ExecuteNonQuery(SQLCommands.AddZone(model.Zone));
                    var createdZone = Utils.ExecuteTable(SQLCommands.GetZoneName(model.Zone));
                    var list2       = Utils.DataTableToList <ZoneModel>(createdZone);
                    Utils.ExecuteNonQuery(SQLCommands.AddManagerZoneAssociation(list.ElementAt(0).Id, list2.ElementAt(0).ZoneId));

                    return(Json(1));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(Json(-1));
        }
Exemple #21
0
        public ActionResult Assign(int?id)

        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Requsition requsition    = _requsitionManager.GetById((int)id);
            Manager    manager       = new Manager();
            var        employees     = _employeeManager.Get(c => c.IsDriver == true && c.IsDeleted == false);
            var        assignVehicle = vehicleManager.Get(c => c.Status == null);

            ManagerViewModel managerVM = new ManagerViewModel();

            managerVM.Id           = manager.Id;
            managerVM.RequsitionId = requsition.Id;

            managerVM.Employees = employees;
            managerVM.Vehicles  = assignVehicle;

            //ViewBag.EmployeeId = new SelectList(employees, "Id", "Name", manager.EmployeeId);
            //ViewBag.VehicleId = new SelectList(assignVehicle, "Id", "VehicleName", manager.EmployeeId);

            return(View(managerVM));
        }
Exemple #22
0
        public ActionResult CreateUpdateManager(ManagerViewModel manager)
        {
            var consortium = manager.ConsortiumId != 0 ? this.ConsortiumService.GetConsortium(manager.ConsortiumId):null;
            var nmanager   = Mapper.Map <ManagerRequest>(manager);

            try
            {
                var nuser = new User();

                var result = false;
                if (nmanager.Id == 0)
                {
                    if (manager.User.Id == 0)
                    {
                        nuser = this.UserService.CreateUser(Mapper.Map <User>(manager.User));
                    }
                    else
                    {
                        nuser = Mapper.Map <User>(manager.User);
                        this.UserService.UpdateUser(nuser);
                    }

                    if (nuser.Id > 0)
                    {
                        nmanager.UserId = nuser.Id;
                        var entity = this.ManagerService.CreateManager(nmanager);
                        result = entity.Id != 0;
                    }
                }
                else
                {
                    nuser  = Mapper.Map <User>(manager.User);
                    result = this.UserService.UpdateUser(nuser);
                    if (result)
                    {
                        result = this.ManagerService.UpdateManager(nmanager);
                    }
                }

                if (result)
                {
                    if (consortium != null)
                    {
                        return(Redirect(string.Format("/Consortium/Details/{0}", consortium.Id)));
                    }
                    else
                    {
                        return(Redirect("/Managers/Index"));
                    }
                }
                else
                {
                    return(View("../Shared/Error"));
                }
            }
            catch (Exception ex)
            {
                return(View("../Shared/Error"));
            }
        }
Exemple #23
0
        public ActionResult CreateManager(int?id)
        {
            var consortium = id.HasValue ? this.ConsortiumService.GetConsortium(id.Value) : null;

            var consortiumList = this.ConsortiumService.GetAll().Select(x => new SelectListItem()
            {
                Value = x.Id.ToString(),
                Text  = x.FriendlyName
            });


            var laboralUnions = this.LaboralUnionService.GetAll().Select(x => new SelectListItem()
            {
                Value = x.Id.ToString(),
                Text  = x.Description
            });

            var viewModel = new ManagerViewModel()
            {
                ConsortiumId     = consortium != null ? consortium.Id : 0,
                LaboralUnionList = laboralUnions,
                ConsortiumList   = consortiumList
            };

            viewModel.Male      = true;
            viewModel.StartDate = DateTime.Now;
            viewModel.BirthDate = DateTime.Now;
            return(View(viewModel));
        }
        public MainControlID1(CollectionViewSource viewSource)
        {
            InitializeComponent();
            this.viewSource = viewSource;
            this.viewSource.SortDescriptions.Add(new SortDescription("Date_created", ListSortDirection.Descending));

            List <Manager> manager        = ManagerViewModel.instance().Collection.ToList();
            Manager        currentManager = ManagerViewModel.instance().getById(Auth.getInstance().Id);

            if (manager.Contains(currentManager))
            {
                manager.Remove(currentManager);
            }
            manager.RemoveAll(x => (x.Id_role != (int)Classes.Role.Manager) && (x.Id_role != (int)Classes.Role.Director));


            List <BidStatus> status = BidStatusViewModel.instance().Collection.ToList();

            status.Remove(BidStatusViewModel.instance().getById((int)Classes.BidStatus.New));

            SetViewSources();

            DataContext = new
            {
                BidCollection            = this.viewSource.View,
                CurrentManagerCollection = manager,
                CurrentStatusCollection  = status,
                EquipmentBidCollection   = equipmentBidViewSource.View,
                ComplectationCollection  = complectationViewSource.View,
                BuyerCollection          = buyerViewSource.View,
            };
        }
        public void AddManagerToDb(ManagerViewModel managerVm, int teamId)
        {
            var team = this.teamRepository
                       .GetById(teamId);

            if (team == null)
            {
                throw new ArgumentNullException();
            }

            var managerExists = this.managerRepository
                                .GetAllFiltered(m => m.FirstName == managerVm.FirstName && m.LastName == managerVm.LastName &&
                                                m.TeamId == team.Id)
                                .Any();

            if (managerExists)
            {
                throw new InvalidOperationException();
            }

            var manager = new FootballManager()
            {
                FirstName   = managerVm.FirstName,
                LastName    = managerVm.LastName,
                Age         = managerVm.Age,
                TeamId      = team.Id,
                TrophiesWon = managerVm.TrophiesWon
            };

            this.managerRepository.Add(manager);
        }
Exemple #26
0
        public ActionResult Login()
        {
            var viewModel = new ManagerViewModel();

            TempData.Remove("LoggedStore");
            TempData.Remove("LoggedManager");
            return(View(viewModel));
        }
Exemple #27
0
        public ManagerView(ClinicUser user)
        {
            InitializeComponent();
            ManagerViewModel managerViewModel = new ManagerViewModel(user, this);

            this.DataContext      = managerViewModel;
            this.managerViewModel = managerViewModel;
        }
        public ActionResult ManDeniedTimesheet()
        {
            ManagerViewModel theManager = new ManagerViewModel();

            theManager.desiredStatus     = "denied";
            theManager.pendingTimesheets = ManagerFunctions.weeksFromstatus("denied");
            theManager.names             = ManagerFunctions.getEmployeeNames(theManager.pendingTimesheets);
            return(View("ManTimesheet", theManager));
        }
 public ActionResult Create(ManagerViewModel manager)
 {
     if (ModelState.IsValid)
     {
         _managerRepository.Add(Mapper.Map <ManagerDTO>(manager));
         return(RedirectToAction("Index"));
     }
     return(View(manager));
 }
Exemple #30
0
        public async Task <ActionResult> Edit(ManagerViewModel managerViewModel)
        {
            ModelState.Remove("Email1.EmailId");
            ModelState.Remove("Email2.EmailId");
            ModelState.Remove("Email1.ManagerId");
            ModelState.Remove("Email2.ManagerId");

            if (ModelState.IsValid)
            {
                if (!string.IsNullOrEmpty(managerViewModel.Email1.Address))
                {
                    if (managerViewModel.Email1.EmailId == 0)
                    {
                        managerViewModel.Email1.ManagerId = managerViewModel.Manager.ManagerId;
                        db.Emails.Add(managerViewModel.Email1);
                    }
                    else
                    {
                        db.SetModified(managerViewModel.Email1);
                    }
                }
                if (!string.IsNullOrEmpty(managerViewModel.Email2.Address))
                {
                    if (managerViewModel.Email2.EmailId == 0)
                    {
                        managerViewModel.Email2.ManagerId = managerViewModel.Manager.ManagerId;
                        db.Emails.Add(managerViewModel.Email2);
                    }
                    else
                    {
                        db.SetModified(managerViewModel.Email2);
                    }
                }

                if (string.IsNullOrEmpty(managerViewModel.Email1.Address) && managerViewModel.Email1.EmailId > 0)
                {
                    var email = new Email {
                        EmailId = managerViewModel.Email1.EmailId
                    };
                    db.SetModified(email);
                }
                if (string.IsNullOrEmpty(managerViewModel.Email2.Address) && managerViewModel.Email2.EmailId > 0)
                {
                    var email = new Email {
                        EmailId = managerViewModel.Email2.EmailId
                    };
                    db.SetModified(email);
                }

                db.SetModified(managerViewModel.Manager);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(managerViewModel));
        }
        protected override void OnInitialize()
        {
            base.OnInitialize();
            controller = Container.GetExportedValue<ManagerController>();
            controller.Initialize();

            shellService = Container.GetExportedValue<ShellService>();
            selectionService = Container.GetExportedValue<SelectionService>();
            managerStatusService = Container.GetExportedValue<IManagerStatusService>();
            var view = (MockManagerView)shellService.ContentView;
            viewModel = ViewHelper.GetViewModel<ManagerViewModel>(view);
        }