Esempio n. 1
0
        public ActionResult AddNewEmployee(NewEmployeeViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model.TrainsIds = GetTrainsIds();
                return(View(model));
            }

            var user = new ApplicationUser()
            {
                UserName = model.Login
            };

            var r = _userManager.Create(user, model.Password);

            if (!r.Succeeded)
            {
                int t = 0;
                foreach (var e in r.Errors)
                {
                    ModelState.AddModelError("auth" + t++, e);
                }

                model.TrainsIds = GetTrainsIds();
                return(View(model));
            }

            Employee employee = new Employee()
            {
                Name     = model.Name,
                Age      = model.Age,
                Phone    = model.Phone,
                TrainId  = model.TrainId,
                UserId   = user.Id,
                Position = model.Position
            };

            try
            {
                _context.Employees.Add(employee);
                _context.SaveChanges();
            }
            catch (Exception e)
            {
                ModelState.AddModelError("employee", e);
                model.TrainsIds = GetTrainsIds();
                return(View(model));
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
        public ActionResult NewEmployee(NewEmployeeViewModel model)
        {
            try
            {
                _employeesManagement.AddOrUpdate(model.Employee);

                this.SuccessMessage("Employee has been saved!");
            }
            catch
            {
                this.ErrorMessage("Employee could not be saved!");
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(int id)
        {
            var department = _context.Departments.SingleOrDefault(c => c.Id == id);

            if (department == null)
            {
                return(HttpNotFound());
            }
            var viewModel = new NewEmployeeViewModel
            {
                Department = department
            };

            return(View("DepartmentForm", viewModel));
        }
        public ActionResult Edit(int id)
        {
            var employee = _context.Employees.SingleOrDefault(c => c.Id == id);

            if (employee == null)
            {
                return(HttpNotFound());
            }
            var viewModel = new NewEmployeeViewModel()
            {
                Employee    = employee,
                Departments = _context.Departments.ToList()
            };

            return(View("EmployeeForm", viewModel));
        }
Esempio n. 5
0
        //для перехода сотрудника по ссылке, которую он получает от представителя, на форму создания своего профиля
        public ActionResult EmployeeProfileCreation(string userId, string name, string surname, string patronymic,
                                                    int age, string phoneNumber, string oldpass)
        {
            var nemv = new NewEmployeeViewModel()
            {
                Id          = userId,
                Name        = name,
                Surname     = surname,
                Patronymic  = patronymic,
                Age         = age,
                PhoneNumber = phoneNumber,
                OldPassword = oldpass
            };

            return(View(nemv));
        }
        public async Task <IActionResult> EditEmployee(Guid id, NewEmployeeViewModel model)
        {
            if (!String.IsNullOrEmpty(id.ToString()))
            {
                AppIdentityUser user = await _userManager.FindByIdAsync(id.ToString());

                if (user != null)
                {
                    var existingRole = _userManager.GetRolesAsync(user).Result.Single();
                    var roleId       = _roleManager.Roles.Single(r => r.Name == existingRole).Id;

                    user.Name        = model.Name;
                    user.Surname     = model.Surname;
                    user.UserName    = model.UserName;
                    user.Email       = model.Email;
                    user.BirthDate   = model.BirthDate;
                    user.PhoneNumber = model.MobileNumber;

                    IdentityResult result = await _userManager.UpdateAsync(user);

                    if (result.Succeeded)
                    {
                        if (roleId != model.DepartmentId)
                        {
                            IdentityResult resultt = await _userManager.RemoveFromRoleAsync(user, existingRole);

                            if (resultt.Succeeded)
                            {
                                AppIdentityRole role = await _roleManager.FindByIdAsync(model.DepartmentId.ToString());

                                if (role != null)
                                {
                                    IdentityResult newRoleResult = await _userManager.AddToRoleAsync(user, role.Name);

                                    if (newRoleResult.Succeeded)
                                    {
                                        return(RedirectToAction("Employees"));
                                    }
                                }
                            }
                        }
                    }
                }
                return(RedirectToAction("Employees"));
            }
            return(RedirectToAction("Employees"));
        }
Esempio n. 7
0
        public async Task <ActionResult> New(NewEmployeeViewModel employee)
        {
            //Send RegisterOrderCommand
            var bus = BusConfigurator.ConfigureBus();

            var sendToUserRegistratioUri = new Uri(RabbitMqConstants.RabbitMqUri + HumanResources.Messaging.RabbitMqConstants.RegisterEmployeeServiceQueue);
            var endPoint = await bus.GetSendEndpoint(sendToUserRegistratioUri);

            await endPoint.Send <IRegisterEmployeeCommand>(new Employee
            {
                IdJobRole = employee.IdJobRole,
                Name      = employee.Name,
                Salary    = employee.Salary
            });

            return(RedirectToAction("Sucess"));
        }
Esempio n. 8
0
        public ActionResult Edit(int Id)
        {
            var Employee = _Context.Employees
                           .Include(e => e.EducationalPersonalDetails)
                           .Include(e => e.AccountDetails)
                           .Include(e => e.Designation)
                           .Single(e => e.Id == Id);

            var ViewModel = new NewEmployeeViewModel
            {
                Employee     = Employee,
                Designations = _Context.Designations.ToList(),
                Stores       = _Context.Stores.ToList()
            };

            return(View("EmployeeForm", ViewModel));
        }
        public ActionResult Edit(int id)
        {
            var employee = _unitOfWork.Employees.GetEmployee(id);

            if (employee == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new NewEmployeeViewModel
            {
                Employee     = employee,
                Departments  = _unitOfWork.Departments.GetDepartments(),
                Designations = _unitOfWork.Designations.GetDesignations()
            };

            return(View("EmployeeForm", viewModel));
        }
 public NewEmployee()
 {
     vm             = new NewEmployeeViewModel();
     BindingContext = vm;
     InitializeComponent();
 }
        public NewEmployeePage(List <Employee> employees)
        {
            InitializeComponent();

            DataContext = new NewEmployeeViewModel(employees);
        }
Esempio n. 12
0
 public NewEmployeePage()
 {
     InitializeComponent();
     BindingContext = new NewEmployeeViewModel();
 }
 public IHttpActionResult QuickAddNewEmployee(NewEmployeeViewModel model)
 {
     db.Employees.Add(model);
     db.SaveChanges();
     return(Ok("New Employee has been added"));
 }
Esempio n. 14
0
        public async Task <IActionResult> Add(NewEmployeeViewModel formData)
        {
            try
            {
                if (DateTime.Parse(formData.DateOfBirth) >= DateTimeOffset.Now)
                {
                    ModelState.AddModelError("Employees", $"Employee Date of Birth {formData.DateOfBirth} can't be greater or now, Please enter a valid birth date.");
                }
                else if (DateTimeOffset.Now.Date.Year - DateTime.Parse(formData.DateOfBirth).Year <= 17)
                {
                    int years = DateTimeOffset.Now.Date.Year - DateTime.Parse(formData.DateOfBirth).Year;
                    ModelState.AddModelError("Employees", $"Employee aged {years} years is below the required working age, Please enter a valid birth date in range of 18 - 54.");
                }
                else if (DateTimeOffset.Now.Date.Year - DateTime.Parse(formData.DateOfBirth).Year >= 55)
                {
                    int years = DateTimeOffset.Now.Date.Year - DateTime.Parse(formData.DateOfBirth).Year;
                    ModelState.AddModelError("Employees", $"Employee aged {years} years is at the retirement level, Please enter a valid birth date in range of 18 - 54.");
                }
                else if ((formData.SpouseDateOfBirth != null) && DateTime.Parse(formData.SpouseDateOfBirth) >= DateTimeOffset.Now)
                {
                    ModelState.AddModelError("Employees", $"Employee Spouse Date of Birth {formData.SpouseDateOfBirth} can't be greater or now, Please enter a valid birth date.");
                }
                else if ((formData.SpouseDateOfBirth != null) && DateTimeOffset.Now.Date.Year - DateTime.Parse(formData.SpouseDateOfBirth).Year <= 17)
                {
                    int years = DateTimeOffset.Now.Date.Year - DateTime.Parse(formData.SpouseDateOfBirth).Year;
                    ModelState.AddModelError("Employees", $"Employee Spouse aged {years} years is below the required required age, Please enter a valid birth date in range of 18 - 54.");
                }
                else
                {
                    var img = await Base64StringHandler.GetFormFileBase64StringAsync(formData.Img);

                    //var image = await Base64StringHandler.GetFormFileBase64StringAsync(formData.EmployeeBirthCertificate);
                    if (ModelState.IsValid)
                    {
                        bool bIfExist = false;
                        var  emp      = from c in _db.Employees
                                        where c.PersonnelFileNumber == formData.PFNumber ||
                                        c.TINNumber == formData.TINNumber ||
                                        c.NSSFNumber == formData.NSSFNumber ||
                                        c.NationalIDNumber == formData.NINNumber ||
                                        c.ContactPerson == formData.ContactPerson ||
                                        c.ContactPersonTelphone == formData.ContactPersonTelephone ||
                                        c.BankAccountNumber == formData.BankAccountNumber ||

                                        c.WorkMobileNumber == formData.WorkMobileNumber ||
                                        c.PersonalMobileNumber == formData.PersonalMobileNumber ||
                                        c.AlternativeMobileNumber == formData.AlternativeMobileNumber ||
                                        c.EmployeeImage == img

                                        select c;

                        try
                        {
                            emp.ToList()[0].PersonnelFileNumber.ToString();
                            emp.ToList()[0].TINNumber.ToString();
                            emp.ToList()[0].NSSFNumber.ToString();
                            emp.ToList()[0].NationalIDNumber.ToString();
                            emp.ToList()[0].ContactPerson.ToString();
                            emp.ToList()[0].ContactPersonTelphone.ToString();
                            emp.ToList()[0].BankAccountNumber.ToString();
                            emp.ToList()[0].PersonalMobileNumber.ToString();
                            emp.ToList()[0].AlternativeMobileNumber.ToString();
                            emp.ToList()[0].WorkMobileNumber.ToString();
                            emp.ToList()[0].EmployeeImage.ToString();
                            bIfExist = true;
                        }
                        catch { }
                        if (bIfExist == true)
                        {
                            ModelState.AddModelError("Employees", $"Employee PFNumber, TIN, NSSF, NIN Number already exists, PF, TIN, NSSF and NIN Number must be Unique");
                        }
                        else
                        {
                            var SpouseDate = "";
                            if (formData.SpouseDateOfBirth != null)
                            {
                                SpouseDate = formData.SpouseDateOfBirth;
                            }
                            else
                            {
                                SpouseDate = DateTime.Now.ToString();
                            }

                            //var img1 = await Base64StringHandler.GetFormFileBase64StringAsync(formData.EmployeeImg);
                            await _employeeServices.AddEmployeeAsync(new Employee
                            {
                                PersonnelFileNumber = formData.PFNumber,
                                Salutation          = formData.Salutation,
                                FirstName           = formData.FirstName,
                                MiddleName          = formData.MiddleName,
                                MaidenName          = formData.MaidenName,
                                LastName            = formData.LastName,
                                DateOfBirth         = DateTime.Parse(formData.DateOfBirth),
                                Gender                = formData.Gender,
                                NationalityId         = formData.NationalityId,
                                Religion              = formData.Religion,
                                MaritalStatus         = formData.MaritalStatus,
                                Address               = formData.Address,
                                NationalIDNumber      = formData.NINNumber,
                                TINNumber             = formData.TINNumber,
                                NSSFNumber            = formData.NSSFNumber,
                                DistrictBirthId       = formData.DistrictBirthId,
                                DistrictResidenceId   = formData.DistrictResidenceId,
                                SupervisorId          = formData.SupervisorId,
                                JobTitle              = formData.JobTitle,
                                ContactPerson         = formData.ContactPerson,
                                ContactPersonTelphone = formData.ContactPersonTelephone,
                                IsActive              = formData.IsActive,
                                DepartmentId          = formData.DepartmentId,
                                BankId                = formData.BankId,
                                BankBranch            = formData.BankBranch,
                                BankAccountNumber     = formData.BankAccountNumber,
                                // BeneficiaryName = formData.BeneficiaryName,
                                //BeneficiaryContact = formData.BeneficiaryContact,
                                //RelationshipId = formData.RelationshipId,
                                PersonalMobileNumber    = formData.PersonalMobileNumber,
                                AlternativeMobileNumber = formData.AlternativeMobileNumber,
                                WorkMobileNumber        = formData.WorkMobileNumber,
                                DateTimeAdded           = DateTimeOffset.Now,
                                DateTimeModified        = DateTimeOffset.Now,
                                UserAccount             = User.Identity.Name,
                                SpouseName           = formData.SpouseName,
                                SpouseContactAddress = formData.SpouseContactAddress,
                                SpouseDateOfBirth    = DateTime.Parse(SpouseDate),
                                SpouseTelephone      = formData.SpouseTelephone,
                                EmployeeImage        = await Base64StringHandler.GetFormFileBase64StringAsync(formData.Img),
                                OtherReligion        = formData.OtherReligion,
                                OtherMaritialStatus  = formData.MaritalStatusOthers,
                                JoinDate             = DateTime.Parse(formData.DateOfJoin)

                                                       //SpouseBirthCertificateImage = await Base64StringHandler.GetFormFileBase64StringAsync(formData.SpouseBirthCertificate),
                                                       // EmployeeBirthCertificateImage = await Base64StringHandler.GetFormFileBase64StringAsync(formData.EmployeeBirthCertificate)
                            });

                            _logger.LogInformation($"Successfully add new employee record with PFNumber: {formData.PFNumber}; user={@User.Identity.Name.Substring(4)}");
                            TempData["Message"] = "Employee added successfully";
                            return(RedirectToAction("add"));
                        }
                    }
                }
            }
            catch (ApplicationException error)
            {
                _logger.LogError(
                    error,
                    $"FAIL: failed to register employee {formData.FirstName + ' ' + formData.LastName}. Internal Application Error.; user={@User.Identity.Name.Substring(4)}");
                ModelState.AddModelError("Employee", $"Failed to register employee {formData.FirstName + ' ' + formData.LastName}. Contact IT ServiceDesk for support thank you.");
            }
            await LoadSelectListsAsync();

            return(View(formData));
        }
        public IActionResult AddEmployee()
        {
            var model = new NewEmployeeViewModel();

            return(View(model));
        }