Пример #1
0
        public virtual ActionResult Index()
        {
            var employee = EmployeeRepository.Single(x => x.Id == CurrentUser.Id);
            var model    = new ChangeAccountSettingsViewModel()
            {
                Phone = employee.PhoneNumber,
                DailyBirthdayMessages   = employee.DailyBirthdayMessages,
                MonthlyBirthdayMessages = employee.MonthlyBirthdayMessages,
                RequestMessages         = employee.RequestMessages,
                VacationMessages        = employee.VacationMessages,
                Skype = employee.Skype
            };

            return(View(model));
        }
Пример #2
0
        public virtual ActionResult UpdateAccount(ChangeAccountSettingsViewModel model)
        {
            var employee = EmployeeRepository.First(x => x.Id == CurrentUser.Id);

            employee.PhoneNumber             = model.Phone;
            employee.MonthlyBirthdayMessages = model.MonthlyBirthdayMessages;
            employee.DailyBirthdayMessages   = model.DailyBirthdayMessages;
            employee.RequestMessages         = model.RequestMessages;
            employee.VacationMessages        = model.VacationMessages;
            employee.Skype = model.Skype;

            if (model.BirthDay != null)
            {
                employee.Birthdate = model.BirthDay;
            }

            EmployeeRepository.SaveOrUpdate(employee);
            EmployeeRepository.Commit();


            model.Message = "Teie andmed on salvestatud";
            return(View(MVC.Account.Views.Index, model));
        }
Пример #3
0
        public virtual async Task <ActionResult> InitializeAccount(ChangeAccountSettingsViewModel model)
        {
            if (EmployeeRepository.SingleOrDefault(x => x.Id == CurrentUserId) != null)
            {
                var employee = EmployeeRepository.First(x => x.Id == CurrentUser.Id);
                employee.PhoneNumber             = model.Phone;
                employee.MonthlyBirthdayMessages = model.MonthlyBirthdayMessages;
                employee.DailyBirthdayMessages   = model.DailyBirthdayMessages;
                employee.RequestMessages         = model.RequestMessages;
                employee.VacationMessages        = model.VacationMessages;
                employee.Skype            = model.Skype;
                employee.SocialSecurityID = model.SocialSecurityID;
                employee.IsInitialized    = true;

                if (model.BirthDay != null)
                {
                    employee.Birthdate = model.BirthDay;
                }

                EmployeeRepository.SaveOrUpdate(employee);
                EmployeeRepository.Commit();
            }
            else
            {
                IPagedCollection <IUser> result = await ADService.GetUsers();

                IUser user        = result.CurrentPage.Single(x => x.ObjectId == CurrentUserId);
                var   defaultRole = RoleRepository.Single(x => x.Name == "User");

                var employee = new Employee()
                {
                    Id                      = user.ObjectId,
                    Name                    = user.DisplayName,
                    Email                   = user.Mail,
                    Role                    = defaultRole,
                    PhoneNumber             = model.Phone,
                    IsInitialized           = true,
                    VacationDays            = 28,
                    VacationMessages        = model.VacationMessages,
                    RequestMessages         = model.RequestMessages,
                    MonthlyBirthdayMessages = model.MonthlyBirthdayMessages,
                    DailyBirthdayMessages   = model.DailyBirthdayMessages,
                    Birthdate               = model.BirthDay,
                    Skype                   = model.Skype,
                    SocialSecurityID        = model.SocialSecurityID
                };

                EmployeeRepository.Add(employee);
                EmployeeRepository.Commit();
            }

            var employees = EmployeeRepository
                            .Where(x => x.Birthdate.HasValue)
                            .Where(x => x.Birthdate.Value.Month == DateTime.Now.Month && x.Birthdate.Value.Day == DateTime.Now.Day)
                            .AsDto();

            var vacations = VacationRepository
                            .Where(x => x.StartDate.Month == DateTime.Now.Month || x.EndDate.Month == DateTime.Now.Month)
                            .Where(x => x.Status == VacationStatus.Approved)
                            .OrderBy(x => x.StartDate)
                            .Select(x => new EmployeeVacationModel()
            {
                EmployeeName = x.Employee.Name,
                StartDate    = x.StartDate,
                EndDate      = x.EndDate
            })
                            .ToList();

            return(View(MVC.Home.Views.Index, new IndexViewModel()
            {
                Employees = employees, Vacations = vacations
            }));
        }