예제 #1
0
 public void Post([FromBody] Emp emp)
 {
     _empRepository.AddEmp(emp);
 }
예제 #2
0
        public async Task <IActionResult> AddEmployee(EmpModel empModel)
        {
            if (ModelState.IsValid)
            {
                var designation = await _empRepository.designation(empModel.JobTitleId);

                var user = new ApplicationUser
                {
                    FirstName   = empModel.EmpFName,
                    LastName    = empModel.EmpLName,
                    Designation = designation,
                    UserName    = empModel.UserName,
                    Email       = empModel.UserName,
                };



                var result = await _userManager.CreateAsync(user, empModel.Password);


                if (result.Succeeded)
                {
                    //await _signInManager.SignInAsync(user, isPersistent: false);
                    //var addedUser = User.FindFirst(ClaimTypes.NameIdentifier).Value;


                    if (empModel.admin != false)
                    {
                        await _userManager.AddToRoleAsync(user, "admin");
                    }
                    if (empModel.user != false)
                    {
                        await _userManager.AddToRoleAsync(user, "user");
                    }
                    if (empModel.manager != false)
                    {
                        await _userManager.AddToRoleAsync(user, "manager");
                    }
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }

                ModelState.AddModelError(string.Empty, "Invalid Login Attempt");



                if (empModel.ProfilePhoto != null)
                {
                    String folder = "images/Employees/";
                    folder           += Guid.NewGuid().ToString() + "_" + empModel.ProfilePhoto.FileName;
                    empModel.PhotoURL = "/" + folder;
                    String serverFolder = Path.Combine(_webHostEnvironment.WebRootPath, folder);

                    await empModel.ProfilePhoto.CopyToAsync(new FileStream(serverFolder, FileMode.Create));
                }
                int id = await _empRepository.AddEmp(empModel);

                if (id > 0)
                {
                    return(RedirectToAction(nameof(AddEmployee), new { isSucceess = true, empId = id }));
                }
            }
            ViewBag.Jobs = new SelectList(await _jobRepository.GetJobs(), "JobId", "JobName");
            return(View());
        }