deleted duplicate manage employee api #42

Merged
vikas.nale merged 1 commits from Ashutosh_Enhancement#199_Manage_Employee_FromBody into Issues_May_2W 2025-05-09 06:36:36 +00:00

View File

@ -153,7 +153,7 @@ namespace MarcoBMS.Services.Controllers
//} //}
[HttpPost("manage")] [HttpPost("manage")]
public async Task<IActionResult> CreateUser([FromForm] CreateUserDto model) public async Task<IActionResult> CreateUser([FromBody] CreateUserDto model)
{ {
Guid tenantId = _userHelper.GetTenantId(); Guid tenantId = _userHelper.GetTenantId();
if (model == null) if (model == null)
@ -278,132 +278,132 @@ namespace MarcoBMS.Services.Controllers
} }
return Ok(ApiResponse<object>.SuccessResponse("Success.", responsemessage, 200)); return Ok(ApiResponse<object>.SuccessResponse("Success.", responsemessage, 200));
} }
[HttpPost("manage-mobile")] //[HttpPost("manage-mobile")]
public async Task<IActionResult> CreateUserMoblie([FromBody] CreateUserDto model) //public async Task<IActionResult> CreateUserMoblie([FromBody] CreateUserDto model)
{ //{
Guid tenantId = _userHelper.GetTenantId(); // Guid tenantId = _userHelper.GetTenantId();
if (model == null) // if (model == null)
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", "Invaild Data", 400)); // return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", "Invaild Data", 400));
if (model.FirstName == null && model.PhoneNumber == null) // if (model.FirstName == null && model.PhoneNumber == null)
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", "Invaild Data", 400)); // return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", "Invaild Data", 400));
string responsemessage = ""; // string responsemessage = "";
if (model.Email != null) // if (model.Email != null)
{ // {
// Check if user already exists by email // // Check if user already exists by email
IdentityUser? existingUser = await _userHelper.GetRegisteredUser(model.Email); // IdentityUser? existingUser = await _userHelper.GetRegisteredUser(model.Email);
var existingEmployee = await _context.Employees.FirstOrDefaultAsync(e => e.Id == model.Id && e.IsActive == true); // var existingEmployee = await _context.Employees.FirstOrDefaultAsync(e => e.Id == model.Id && e.IsActive == true);
var demo = existingUser != new IdentityUser(); // var demo = existingUser != new IdentityUser();
if (existingUser != null) // if (existingUser != null)
{ // {
/* Identity user Exists - Create/update employee Employee */ // /* Identity user Exists - Create/update employee Employee */
// Update Employee record // // Update Employee record
existingEmployee = await _context.Employees.FirstOrDefaultAsync(e => e.Email == model.Email && e.Id == model.Id && e.IsActive == true); // existingEmployee = await _context.Employees.FirstOrDefaultAsync(e => e.Email == model.Email && e.Id == model.Id && e.IsActive == true);
if (existingEmployee != null) // if (existingEmployee != null)
{ // {
existingEmployee = GetUpdateEmployeeModel(model, existingEmployee, existingUser); // existingEmployee = GetUpdateEmployeeModel(model, existingEmployee, existingUser);
_context.Employees.Update(existingEmployee); // _context.Employees.Update(existingEmployee);
await _context.SaveChangesAsync(); // await _context.SaveChangesAsync();
responsemessage = "User updated successfully."; // responsemessage = "User updated successfully.";
} // }
else // else
{ // {
// Create Employee record if missing // // Create Employee record if missing
//Employee newEmployee = GetNewEmployeeModel(model, TenantId, existingUser.Id); // //Employee newEmployee = GetNewEmployeeModel(model, TenantId, existingUser.Id);
//_context.Employees.Add(newEmployee); // //_context.Employees.Add(newEmployee);
return Conflict(ApiResponse<object>.ErrorResponse("Email already exist", "Email already exist", 409)); // return Conflict(ApiResponse<object>.ErrorResponse("Email already exist", "Email already exist", 409));
} // }
} // }
else // else
{ // {
var user = new ApplicationUser // var user = new ApplicationUser
{ // {
UserName = model.Email, // UserName = model.Email,
Email = model.Email, // Email = model.Email,
EmailConfirmed = true, // EmailConfirmed = true,
TenantId = tenantId // TenantId = tenantId
}; // };
// Create Identity User // // Create Identity User
var result = await _userManager.CreateAsync(user, "User@123"); // var result = await _userManager.CreateAsync(user, "User@123");
if (!result.Succeeded) // if (!result.Succeeded)
return Ok(ApiResponse<object>.ErrorResponse("Failed to create user", result.Errors, 400)); // return Ok(ApiResponse<object>.ErrorResponse("Failed to create user", result.Errors, 400));
if (existingEmployee == null) // if (existingEmployee == null)
{ // {
Employee newEmployee = GetNewEmployeeModel(model, tenantId, user.Id); // Employee newEmployee = GetNewEmployeeModel(model, tenantId, user.Id);
_context.Employees.Add(newEmployee); // _context.Employees.Add(newEmployee);
await _context.SaveChangesAsync(); // await _context.SaveChangesAsync();
/* SEND USER REGISTRATION MAIL*/ // /* SEND USER REGISTRATION MAIL*/
var token = await _userManager.GeneratePasswordResetTokenAsync(user); // var token = await _userManager.GeneratePasswordResetTokenAsync(user);
var resetLink = $"{_configuration["AppSettings:WebFrontendUrl"]}/reset-password?token={WebUtility.UrlEncode(token)}"; // var resetLink = $"{_configuration["AppSettings:WebFrontendUrl"]}/reset-password?token={WebUtility.UrlEncode(token)}";
if (newEmployee.FirstName != null) // if (newEmployee.FirstName != null)
{ // {
await _emailSender.SendResetPasswordEmailOnRegister(user.Email, newEmployee.FirstName, resetLink); // await _emailSender.SendResetPasswordEmailOnRegister(user.Email, newEmployee.FirstName, resetLink);
} // }
} // }
else // else
{ // {
existingEmployee.Email = model.Email; // existingEmployee.Email = model.Email;
existingEmployee = GetUpdateEmployeeModel(model, existingEmployee, existingUser); // existingEmployee = GetUpdateEmployeeModel(model, existingEmployee, existingUser);
_context.Employees.Update(existingEmployee); // _context.Employees.Update(existingEmployee);
await _context.SaveChangesAsync(); // await _context.SaveChangesAsync();
/* SEND USER REGISTRATION MAIL*/ // /* SEND USER REGISTRATION MAIL*/
var token = await _userManager.GeneratePasswordResetTokenAsync(user); // var token = await _userManager.GeneratePasswordResetTokenAsync(user);
var resetLink = $"{_configuration["AppSettings:WebFrontendUrl"]}/reset-password?token={WebUtility.UrlEncode(token)}"; // var resetLink = $"{_configuration["AppSettings:WebFrontendUrl"]}/reset-password?token={WebUtility.UrlEncode(token)}";
if (existingEmployee.FirstName != null) // if (existingEmployee.FirstName != null)
{ // {
await _emailSender.SendResetPasswordEmailOnRegister(user.Email, existingEmployee.FirstName, resetLink); // await _emailSender.SendResetPasswordEmailOnRegister(user.Email, existingEmployee.FirstName, resetLink);
} // }
} // }
responsemessage = "User created successfully. Password reset link is sent to registered email"; // responsemessage = "User created successfully. Password reset link is sent to registered email";
} // }
} // }
else // else
{ // {
var existingEmployee = await _context.Employees.FirstOrDefaultAsync(e => e.Id == model.Id && e.IsActive == true); // var existingEmployee = await _context.Employees.FirstOrDefaultAsync(e => e.Id == model.Id && e.IsActive == true);
if (existingEmployee != null) // if (existingEmployee != null)
{ // {
existingEmployee = GetUpdateEmployeeModel(model, existingEmployee); // existingEmployee = GetUpdateEmployeeModel(model, existingEmployee);
_context.Employees.Update(existingEmployee); // _context.Employees.Update(existingEmployee);
responsemessage = "User updated successfully."; // responsemessage = "User updated successfully.";
} // }
else // else
{ // {
// Create Employee record if missing // // Create Employee record if missing
Employee newEmployee = GetNewEmployeeModel(model, tenantId, string.Empty); // Employee newEmployee = GetNewEmployeeModel(model, tenantId, string.Empty);
_context.Employees.Add(newEmployee); // _context.Employees.Add(newEmployee);
} // }
try // try
{ // {
await _context.SaveChangesAsync(); // await _context.SaveChangesAsync();
} // }
catch (Exception ex) // catch (Exception ex)
{ // {
return BadRequest(ex.InnerException?.Message ?? ex.Message); // return BadRequest(ex.InnerException?.Message ?? ex.Message);
} // }
responsemessage = "User created successfully."; // responsemessage = "User created successfully.";
} // }
return Ok(ApiResponse<object>.SuccessResponse("Success.", responsemessage, 200)); // return Ok(ApiResponse<object>.SuccessResponse("Success.", responsemessage, 200));
} //}
[HttpDelete("{id}")] [HttpDelete("{id}")]
public async Task<IActionResult> SuspendEmployee(Guid id) public async Task<IActionResult> SuspendEmployee(Guid id)