Compare commits

...

1 Commits

Author SHA1 Message Date
21492ddba2 deleted duplicate manage employee api 2025-05-09 11:26:56 +05:30

View File

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