public IActionResult DeleteUser(Guid id) { try { if (ModelState.IsValid) { UserServiceResponseModel deleteResponseReciever = _iuser.DeleteUserService(id); if (deleteResponseReciever.code == responseCode.ErrorOccured) { return(BadRequest(deleteResponseReciever.user, deleteResponseReciever.Message, deleteResponseReciever.code)); } else if (deleteResponseReciever.code == responseCode.Successful) { return(Ok(deleteResponseReciever.user, deleteResponseReciever.Message, deleteResponseReciever.code)); } else { return(BadRequest(null, "Error Occured", responseCode.ErrorOccured)); } } return(BadRequest(null, "Null Entity", responseCode.ErrorOccured)); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult AgentLogin([FromBody] LoginViewModel user) { try { if (ModelState.IsValid) { UserServiceResponseModel loginResponse = _ilogin.AdminLogin(user); if (loginResponse.code == responseCode.ErrorOccured) { return(BadRequest(loginResponse.user, loginResponse.Message, loginResponse.code)); } else if (loginResponse.code == responseCode.Successful) { return(Ok(loginResponse.user, loginResponse.Message, loginResponse.code)); } else { return(BadRequest(null, "Error Occured", responseCode.ErrorOccured)); } } else { return(BadRequest(null, "Null Entity", responseCode.ErrorOccured)); } } catch (Exception exe) { return(BadRequest(exe)); } }
public IActionResult GetUserById(Guid id) { try { if (ModelState.IsValid) { UserServiceResponseModel getByIdResponseReciever = _iuser.GetUserByIdService(id); if (getByIdResponseReciever.code == responseCode.ErrorOccured) { return(BadRequest(getByIdResponseReciever.user, getByIdResponseReciever.Message, getByIdResponseReciever.code)); } else if (getByIdResponseReciever.code == responseCode.Successful) { return(Ok(getByIdResponseReciever.user, getByIdResponseReciever.Message, getByIdResponseReciever.code)); } else { return(BadRequest("Error Occured", responseCode.ErrorOccured)); } } return(BadRequest("Null Entity", responseCode.ErrorOccured)); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult UpdateUser([FromBody] UpdateUserViewModel user) { try { if (ModelState.IsValid) { UserServiceResponseModel updateMethodServiceResponseModel = _iuser.UpdateUserService(user); if (updateMethodServiceResponseModel.code == responseCode.ErrorOccured) { return(BadRequest(updateMethodServiceResponseModel.user, updateMethodServiceResponseModel.Message, updateMethodServiceResponseModel.code)); } else if (updateMethodServiceResponseModel.code == responseCode.Successful) { return(Ok(updateMethodServiceResponseModel.user, updateMethodServiceResponseModel.Message, updateMethodServiceResponseModel.code)); } else { return(BadRequest(null, "Error Occured", responseCode.ErrorOccured)); } } return(BadRequest(null, "Null Entity", responseCode.ErrorOccured)); } catch (Exception ex) { return(BadRequest(ex)); } }
//this logs in an Agent user public UserServiceResponseModel AdminLogin(LoginViewModel user) { try { User agentToBeLogged = UnitOfWork.GetRepository <User>().Single(p => p.Email == user.Email); if (agentToBeLogged == null) { userModel = new UserServiceResponseModel() { user = null, code = responseCode.ErrorOccured, Message = "Agent Does Not Exist" }; return(userModel); } else { if (agentToBeLogged.User_Password == user.User_Password) { //Audit Logger var converte_Company_id = agentToBeLogged.Company_Id.GetValueOrDefault(); _iauditExtension.Auditlogger(converte_Company_id, agentToBeLogged.Id, "You Logged in"); User responseUser = new User() { Company_Id = agentToBeLogged.Company_Id, Id = agentToBeLogged.Id, First_Name = agentToBeLogged.First_Name, Last_Name = agentToBeLogged.Last_Name, User_Role = agentToBeLogged.User_Role, Company_Name = agentToBeLogged.Company_Name }; userModel = new UserServiceResponseModel() { user = responseUser, code = responseCode.Successful, Message = "Login Successful" }; return(userModel); } else { userModel = new UserServiceResponseModel() { user = null, code = responseCode.ErrorOccured, Message = "Incorrect Password" }; return(userModel); } } } catch (Exception ex) { _loggerManager.LogError(ex.Message); throw; } }
//this service deletes user public UserServiceResponseModel DeleteUserService(Guid id) { try { User user = UnitOfWork.GetRepository <User>().Single(p => p.Id == id); if (user == null) { userModel = new UserServiceResponseModel() { user = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(userModel); } else { if (user.Status == EntityStatus.Active) { user.Status = EntityStatus.InActive; UnitOfWork.GetRepository <User>().Update(user); UnitOfWork.SaveChanges(); //Audit Logger var converte_Company_id = user.Company_Id.GetValueOrDefault(); _iauditExtension.Auditlogger(converte_Company_id, user.Id, "You Deleted a User"); userModel = new UserServiceResponseModel() { user = user, Message = "Entity Deleted Successfully", code = responseCode.Successful }; return(userModel); } else { userModel = new UserServiceResponseModel() { user = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(userModel); } } } catch (Exception ex) { _loggerManager.LogError(ex.Message); throw; } }
//this service fetches companies by there id //I have an issue knowing what to return and the return type to use in this method public UserServiceResponseModel GetUserByIdService(Guid id) { try { User user = UnitOfWork.GetRepository <User>().Single(p => p.Id == id); //since i cant send company directly, i get the company and pass the values i need into the companyViewModel which i then return //CompanyViewModel companyViewModel = new CompanyViewModel //{ // Company_Name = company.Company_Name, // Id = company.Id //}; if (user != null) { if (user.Status == EntityStatus.Active) { userModel = new UserServiceResponseModel() { user = user, Message = "Entity Fetched Successfully", code = responseCode.Successful }; return(userModel); } else { userModel = new UserServiceResponseModel() { user = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(userModel); } } userModel = new UserServiceResponseModel() { user = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(userModel); } catch (Exception ex) { _loggerManager.LogError(ex.Message); throw ex; } }
//this service creates new users public UserServiceResponseModel CreateUserService(UserViewModel user) { try { //unit of work is used to replace _context. User userToBeCreated = UnitOfWork.GetRepository <User>().Single(p => p.Email == user.Email || p.Phonenumber == user.Phonenumber); if (userToBeCreated != null) { userModel = new UserServiceResponseModel() { user = null, Message = "Entity Already Exists", code = responseCode.ErrorOccured }; return(userModel); } else { Company checkIfCompanyExists = UnitOfWork.GetRepository <Company>().Single(p => p.Id == user.Company_Id && p.Status == EntityStatus.Active); //if(checkIfCompanyExists != null) //{ userToBeCreated = new User() { Company_Id = user.Company_Id, Company_Name = checkIfCompanyExists.Company_Name, User_Password = user.User_Password, First_Name = user.First_Name, Last_Name = user.Last_Name, Email = user.Email, Phonenumber = user.Phonenumber, User_Role = user.User_Role, XendCode = user.XendCode, Status = EntityStatus.Active, CreatedAt = DateTime.Now, CreatedAtTimeStamp = DateTime.Now.ToTimeStamp(), UpdatedAt = DateTime.Now, UpdatedAtTimeStamp = DateTime.Now.ToTimeStamp() }; UnitOfWork.GetRepository <User>().Add(userToBeCreated); UnitOfWork.SaveChanges(); //Audit Logger var converte_Company_id = userToBeCreated.Company_Id.GetValueOrDefault(); _iauditExtension.Auditlogger(converte_Company_id, userToBeCreated.Id, "You Created A User"); userModel = new UserServiceResponseModel() { user = null, Message = "Entity Created Successfully", code = responseCode.Successful }; return(userModel); //} //else //{ // userModel = new UserServiceResponseModel() { user = userToBeCreated, Message = "Company Do Not Exist", code = responseCode.ErrorOccured }; // return userModel; //} } } catch (Exception ex) { _loggerManager.LogError(ex.Message); throw; } }
//this service updates user public UserServiceResponseModel UpdateUserService(UpdateUserViewModel user) { try { User toBeUpdatedUser = UnitOfWork.GetRepository <User>().Single(p => p.Id == user.Id); if (toBeUpdatedUser == null) { userModel = new UserServiceResponseModel() { user = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(userModel); } else { if (toBeUpdatedUser.Status == EntityStatus.Active) { Company checkIfCompanyExists = UnitOfWork.GetRepository <Company>().Single(p => p.Id == user.Company_Id && p.Status == EntityStatus.Active); if (checkIfCompanyExists != null) { //here i will assign directly what i want to update to the model instead of creating a new instance toBeUpdatedUser.Company_Id = user.Company_Id; toBeUpdatedUser.Company_Name = checkIfCompanyExists.Company_Name; toBeUpdatedUser.User_Password = user.User_Password; toBeUpdatedUser.First_Name = user.First_Name; toBeUpdatedUser.Last_Name = user.Last_Name; toBeUpdatedUser.Email = user.Email; toBeUpdatedUser.Phonenumber = user.Phonenumber; toBeUpdatedUser.User_Role = user.User_Role; toBeUpdatedUser.XendCode = user.XendCode; toBeUpdatedUser.Status = EntityStatus.Active; toBeUpdatedUser.UpdatedAt = DateTime.Now; toBeUpdatedUser.UpdatedAtTimeStamp = DateTime.Now.ToTimeStamp(); UnitOfWork.GetRepository <User>().Update(toBeUpdatedUser); UnitOfWork.SaveChanges(); //Audit Logger var converte_Company_id = toBeUpdatedUser.Company_Id.GetValueOrDefault(); _iauditExtension.Auditlogger(converte_Company_id, toBeUpdatedUser.Id, "You were updated"); userModel = new UserServiceResponseModel() { user = null, Message = "Entity Updated Successfully", code = responseCode.Successful }; return(userModel); } else { userModel = new UserServiceResponseModel() { user = null, Message = "Company Do Not Exist", code = responseCode.ErrorOccured }; return(userModel); } } else { userModel = new UserServiceResponseModel() { user = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(userModel); } } } catch (Exception ex) { _loggerManager.LogError(ex.Message); throw; } }