public HttpResponseMessage Post([FromBody] UserAPIModel user) { try { if (ModelState.IsValid) { if (userBDC.CreateUser(mapper.Map <UserDTO>(user))) { return(Request.CreateResponse(HttpStatusCode.OK, true)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, Resources.AlreadyRegisteredUser)); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState)); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, false)); } }
public HttpResponseMessage Post([FromBody] LoginAPIModel user) { try { if (ModelState.IsValid) { UserAPIModel Luser = mapper.Map <UserAPIModel>(userBDC.AuthenticateUser(user.UserName, user.Password)); if (Luser != null) { return(Request.CreateResponse(HttpStatusCode.OK, Luser)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, Resources.AlreadyRegisteredUser)); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState)); } } catch (Exception) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, false)); } }
public async Task <IEnumerable <string> > GetUserRoles(string name) { var response = await webRequestHelper.SendRequest($"{autharizationApiUrl}/api/account?name={name}", "get", ""); UserAPIModel apiUser = webRequestHelper.GetObjectFromResponse <UserAPIModel>(response); return(apiUser.Roles); }
public async Task <UserAPIModel> AddRole(string username, string role) { var response = await webRequestHelper.SendRequest($"{autharizationApiUrl}/api/account/{username}/roles/?role={role}", "post", null); UserAPIModel apiUser = webRequestHelper.GetObjectFromResponse <UserAPIModel>(response); return(apiUser); }
private void MockDataForSendNotifications() { UserAPIModel userAPIModel = new UserAPIModel() { Email = "*****@*****.**", PhoneNumber = "0505050500" }; _iNotificationQuerie.Setup(q => q.GetNotificationSettingByUserId(It.IsAny <int>(), It.IsAny <int>())) .Returns(() => { return(Task.FromResult <UserNotificationSetting>(new NotificationsDefaults().GetUserNotificationSettingWithProfileId()[0])); }); _iNotificationQuerie.Setup(q => q.GetNotificationSettingByRoleAndOperationCode(It.IsAny <List <int> >(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(() => { return(Task.FromResult <List <UserNotificationSetting> >(new NotificationsDefaults().GetUserNotificationSettingWithProfileId())); }); _iNotificationQuerie.Setup(q => q.GetNotificationSettingByUserIdAndUserType(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(() => { return(Task.FromResult <List <UserNotificationSetting> >(new NotificationsDefaults().GetUserNotificationSettingWithProfileId())); }); _idmProxy.Setup(q => q.GetUserbyUserName(It.IsAny <string>())) .Returns(() => { return(Task.FromResult <UserAPIModel>(userAPIModel)); }); var entryMock = new Mock <ICacheEntry>(); _cache.Setup(m => m.CreateEntry(It.IsAny <object>())) .Returns(entryMock.Object); _iNotificationQuerie.Setup(q => q.FindAllNotificationOperationCode()) .Returns(() => { return(Task.FromResult <List <NotificationOperationCode> >(new NotificationsDefaults().GetNotificationOperationCode())); }); _idmProxy.Setup(i => i.GetMonafasatUsersByAgencyTypeAndRoleName(It.IsAny <UsersSearchCriteriaModel>())) .Returns(() => { return(Task.FromResult <QueryResult <EmployeeIntegrationModel> >(new BranchDefaults().GetEmployeeIntegrationModel())); }); _mapper.Setup(x => x.Map <QueryResult <EmployeeIntegrationModel> >(It.IsAny <QueryResult <EmployeeIntegrationModel> >())).Returns(() => { return(new BranchDefaults().GetEmployeeIntegrationModel()); }); }
private async Task <UserModel> MapToUserModel(UserAPIModel apiUser) { return(new UserModel { isEmployee = apiUser.Roles.Contains("employee"), Login = apiUser.UserName, Name = await GetUserName(apiUser.Id, apiUser.Roles) }); }
private async Task AddOrAssignWithApplicationUser(UserAPIModel apiUser, string role) { if (role == "employee") { await unsafeEmployeeService.AddOrAssignWithApplicationUser(apiUser.UserName, apiUser.Id); } else if (role == "client") { await unsafeClientService.AddOrAssignWithApplicationUser(apiUser.UserName, apiUser.Id); } }
public async Task <string> Login(PasswordNameModel model) { var response = await webRequestHelper.SendRequest($"{autharizationApiUrl}/api/account/login", "post", ToJson(model)); UserAPIModel apiUser = webRequestHelper.GetObjectFromResponse <UserAPIModel>(response); if (apiUser == null) { return(null); } return(!string.IsNullOrEmpty(response.Headers["Authorization"]) ? response.Headers["Authorization"] : null); }
public async Task <UserAPIModel> RegisterUserWithRole(string name, string password, string role) { var response = await webRequestHelper.SendRequest($"{autharizationApiUrl}/api/account/register", "post", ToJson(new RegisterModelAPI { Password = password, Username = name, Roles = new string[] { role } })); UserAPIModel apiUser = webRequestHelper.GetObjectFromResponse <UserAPIModel>(response); return(apiUser); }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { var identity = new ClaimsIdentity(context.Options.AuthenticationType); //context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); var authUser = userBDC.AuthenticateUser(context.UserName, context.Password); if (authUser != null) { UserAPIModel currentUser = mapper.Map <UserAPIModel>(authUser); identity.AddClaim(new Claim(Resources.Id, Convert.ToString(currentUser.IsApprover))); identity.AddClaim(new Claim(Resources.Status, Convert.ToString(currentUser.CurrentStatus))); identity.AddClaim(new Claim(Resources.Id, Convert.ToString(currentUser.ID))); identity.AddClaim(new Claim(Resources.Email, Convert.ToString(currentUser.Email))); identity.AddClaim(new Claim(Resources.Fname, Convert.ToString(currentUser.FirstMidName))); identity.AddClaim(new Claim(ClaimTypes.Role, Convert.ToString(currentUser.IsApprover))); var props = new AuthenticationProperties(new Dictionary <string, string> { { Resources.Id, Convert.ToString(currentUser.ID) }, { Resources.Email, context.UserName }, { Resources.Role, Convert.ToString(currentUser.IsApprover) }, { Resources.Status, Convert.ToString(currentUser.CurrentStatus) }, { Resources.Fname, currentUser.FirstMidName }, { Resources.ProfilePic, currentUser.ProfileImage } }); var ticket = new AuthenticationTicket(identity, props); context.Validated(ticket); //else //{ // //context.SetError("invalid_grant", "Provided username and password is not matching, Please retry!"); // //context.Rejected(); //} } else { context.SetError(Resources.InvalidGrant, Resources.InvalidCredentials); //context.Rejected(); } return; }
public HttpResponseMessage CreateBulkPerson([FromBody] List <PersonAPIModel> persons, [FromUri] int approverId) { try { List <PersonAPIModel> personNotAdded = new List <PersonAPIModel>(); UserAPIModel user = mapper.Map <UserAPIModel>(userBDC.GetUserById(approverId)); HouseAPIModel house; if (user.CurrentStatus == APIModels.status.Approved) { foreach (PersonAPIModel person in persons) { house = mapper.Map <HouseAPIModel>(houseBDC.GetHouseByCHN(person.CensusHouseNumber)); if (house != null) { person.CreatedBy = approverId; person.HouseId = house.ID; if (personBDC.CreatePerson(mapper.Map <PersonDTO>(person))) { System.Diagnostics.Debug.WriteLine(person); } else { personNotAdded.Remove(person); } } else { personNotAdded.Add(person); } } if (personNotAdded.Count > 0) { return(Request.CreateResponse(HttpStatusCode.OK, personNotAdded)); } else { return(Request.CreateResponse(HttpStatusCode.OK, true)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, Resources.Forbidden)); } } catch (Exception) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, false)); } }
public HttpResponseMessage CreateBulkHouseListing([FromBody] List <HouseAPIModel> houses, [FromUri] int approverId) { try { List <HouseAPIModel> houseNotAdded = new List <HouseAPIModel>(); Boolean isHouseExists; UserAPIModel user = mapper.Map <UserAPIModel>(userBDC.GetUserById(approverId)); if (user.CurrentStatus == APIModels.status.Approved) { foreach (HouseAPIModel house in houses) { isHouseExists = (houseBDC.CheckCHN(house.CensusHouseNumber)); if (isHouseExists == false) { house.CreatedBy = user.ID; if (houseBDC.CreateHouseListing(mapper.Map <HouseDTO>(house))) { System.Diagnostics.Debug.WriteLine(house); } else { houseNotAdded.Add(house); } } else { houseNotAdded.Add(house); } } if (houseNotAdded.Count > 0) { return(Request.CreateResponse(HttpStatusCode.OK, houseNotAdded)); } else { return(Request.CreateResponse(HttpStatusCode.OK, true)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, Resources.Forbidden)); } } catch (Exception) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, false)); } }
public void Register(UserAPIModel user) { if (user.IsInternal && IsValidUser(user.Username)) { var registerUser = _authService.GetADUserDetails(user.Username); UserRegistration userRegister = new UserRegistration(); userRegister.FirstName = registerUser.FirstName; userRegister.LastName = registerUser.LastName; userRegister.Email = registerUser.Email; userRegister.UserName = registerUser.UserName; userRegister.IsInternalUser = registerUser.IsInternalUser; userRegister.IsActivated = false; _userRegisterRepo.Add(userRegister); SaveChanges(_unitOfWork); } }
public async Task ShoulSendNotificationByUserIdSuccess() { UserAPIModel userAPIModel = new UserAPIModel() { Email = "*****@*****.**", PhoneNumber = "0505050500" }; MainNotificationTemplateModel mainNotificationTemplateModel = new MainNotificationTemplateModel() { TemplateName = "templatename", BranchId = 1, CommitteeId = 1, Link = "link", RecipientnName = "RecipientnName", Args = new NotificationArguments() { BodyEmailArgs = new object[] { "email" }, SMSArgs = new object[] { "sms" } } }; _iNotificationQuerie.Setup(q => q.GetNotificationSettingByUserId(It.IsAny <int>(), It.IsAny <int>())) .Returns(() => { return(Task.FromResult <UserNotificationSetting>(new NotificationsDefaults().GetUserNotificationSettingWithProfileId()[0])); }); _idmProxy.Setup(q => q.GetUserbyUserName(It.IsAny <string>())) .Returns(() => { return(Task.FromResult <UserAPIModel>(userAPIModel)); }); var entryMock = new Mock <ICacheEntry>(); _cache.Setup(m => m.CreateEntry(It.IsAny <object>())) .Returns(entryMock.Object); _iNotificationQuerie.Setup(q => q.FindAllNotificationOperationCode()) .Returns(() => { return(Task.FromResult <List <NotificationOperationCode> >(new NotificationsDefaults().GetNotificationOperationCode())); }); await _sut.SendNotificationByUserId(1, 1, "username", mainNotificationTemplateModel); _notifayCommands.Verify(m => m.SaveChangesAsync(), Times.Once); }
public UserAPIModel Authenticate(string username, string password) { var userAPIModel = new UserAPIModel(); if (_authService.IsValidUser(username, password)) { var user = _userRepository.SelectOne(x => x.UserName == username); userAPIModel.Username = username; userAPIModel.FirstName = user.FirstName; userAPIModel.LastName = user.LastName; userAPIModel.Token = _authService.GenerateToken(username); return(userAPIModel); } else { throw new DemoAPIException("The username and password combination is invalid."); } }
public HttpResponseMessage CreatePerson([FromBody] PersonAPIModel person, [FromUri] int approverId) { try { if (ModelState.IsValid) { UserAPIModel user = mapper.Map <UserAPIModel>(userBDC.GetUserById(approverId)); HouseAPIModel house = mapper.Map <HouseAPIModel>(houseBDC.GetHouseByCHN(person.CensusHouseNumber)); if (user.CurrentStatus == APIModels.status.Approved) { if (house != null) { person.CreatedBy = approverId; person.HouseId = house.ID; if (personBDC.CreatePerson(mapper.Map <PersonDTO>(person))) { System.Diagnostics.Debug.WriteLine(person); return(Request.CreateResponse(HttpStatusCode.OK, true)); } else { return(Request.CreateResponse(HttpStatusCode.OK, false)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, false)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, Resources.Forbidden)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, ModelState)); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } }
public HttpResponseMessage CreateHouseListing([FromBody] HouseAPIModel house, [FromUri] int approverId) { try { if (ModelState.IsValid) { UserAPIModel user = mapper.Map <UserAPIModel>(userBDC.GetUserById(approverId)); Boolean isHouseExists = (houseBDC.CheckCHN(house.CensusHouseNumber)); if (user.CurrentStatus == APIModels.status.Approved) { if (isHouseExists == false) { house.CreatedBy = user.ID; if (houseBDC.CreateHouseListing(mapper.Map <HouseDTO>(house))) { System.Diagnostics.Debug.WriteLine(house); string chn = house.CensusHouseNumber.ToString(); return(Request.CreateResponse(HttpStatusCode.OK, chn)); } else { return(Request.CreateResponse(HttpStatusCode.OK, false)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, false)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, Resources.Forbidden)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, false)); } } catch (Exception) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, false)); } }
public async Task Should_SendNotificationByUserId(int notificationCodeId, int userId, string userName) { //Arrange MainNotificationTemplateModel mainNotificationTemplateModel = new UserNotificationSettingBuilder().ReturnMainNotificationTemplateModel(); UserAPIModel userAPIModel = new UserAPIModel() { Email = "*****@*****.**", PhoneNumber = "0505050500" }; _iNotificationQuerie.Setup(q => q.GetNotificationSettingByUserId(It.IsAny <int>(), It.IsAny <int>())) .Returns(() => { return(Task.FromResult <UserNotificationSetting>(new NotificationsDefaults().GetUserNotificationSettingWithProfileId()[0])); }); _idmProxy.Setup(q => q.GetUserbyUserName(It.IsAny <string>())) .Returns(() => { return(Task.FromResult <UserAPIModel>(userAPIModel)); }); var entryMock = new Mock <ICacheEntry>(); _cache.Setup(m => m.CreateEntry(It.IsAny <object>())) .Returns(entryMock.Object); _iNotificationQuerie.Setup(q => q.FindAllNotificationOperationCode()) .Returns(() => { return(Task.FromResult <List <NotificationOperationCode> >(new NotificationsDefaults().GetNotificationOperationCode())); }); //Act await _sut.SendNotificationByUserId(notificationCodeId, userId, userName, mainNotificationTemplateModel); //Assert _notifayCommands.Verify(m => m.SaveChangesAsync(), Times.Once); }
public ActionResult Create(UserAPIModel user) { using (NHibernate.ISession session = nHibernateHelper.OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { session.SaveOrUpdate(new User { Login = user.Login, Email = user.Email, RegistrationDate = user.RegistrationDate, Role = session.Query <Role>().Single(x => x.Name == user.Role), Password = user.Password }); transaction.Commit(); var dbUser = session.Query <User>().Single(x => x.Login == user.Login); return(CreatedAtRoute("GetUser", new { id = dbUser.Id }, new UserAPIModel(dbUser))); } } }
public IActionResult Update(int id, UserAPIModel user) { using (NHibernate.ISession session = nHibernateHelper.OpenSession()) { var u = session.Query <User>().FirstOrDefault(x => x.Id == id); if (u == null) { return(NotFound()); } u.Login = user.Login; u.Email = user.Email; u.Password = user.Password; u.Role = session.Query <Role>().Single(x => x.Name == user.Role); using (ITransaction transaction = session.BeginTransaction()) { session.SaveOrUpdate(u); transaction.Commit(); return(NoContent()); } } }
public HttpResponseMessage RejectUser([FromBody] ApproverAPIID approverId, [FromUri] int userId) { try { UserAPIModel user = mapper.Map <UserAPIModel>(userBDC.GetUserById(userId)); if (user == null) { return(Request.CreateResponse(HttpStatusCode.OK, false)); } else { if (user.CurrentStatus == APIModels.status.Pending) { user.CurrentStatus = APIModels.status.Declined; user.ApprovedBy = approverId.ApproverId; UserDTO userToUpdate = mapper.Map <UserDTO>(user); if (userBDC.UpdateUser(userToUpdate)) { return(Request.CreateResponse(HttpStatusCode.OK, true)); } else { return(Request.CreateResponse(HttpStatusCode.OK, false)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, false)); } } } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); return(Request.CreateResponse(HttpStatusCode.Forbidden, e)); } }
public List <UserAPIModel> GetUsersMobile() { try { XPQuery <Users> user = session.Query <Users>(); List <UserAPIModel> usersAPI = new List <UserAPIModel>(); var roleCode = Enums.UserRole.Miner.ToString(); var users = (from u in user where u.RoleID.Code == roleCode select u).ToList(); foreach (var u in users) { var usr = new UserAPIModel { active = u.GrantAppAccess ? "1" : "0", avatar = "", created_at = u.tsInsert.Date.ToString("yyyy-MM-dd") + " " + u.tsInsert.ToString("HH:mm:ss"),//u.tsInsert.Year.ToString() + "-" + u.tsInsert.Month.ToString() + "-" + u.tsInsert.Day.ToString() + " " + u.tsInsert.Hour + ":" + u.tsInsert.Minute + ":" + u.tsInsert.Second, email = u.EmployeeID.Email, first_name = u.EmployeeID.Firstname, group_id = u.RoleID.Code + " ", id = u.UserID.ToString(), last_login = u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault() != null ? (u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault().LoginDate.Date.ToString("yyyy-MM-dd") + " " + u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault().LoginDate.ToString("HH:mm:ss")) : "", last_name = u.EmployeeID.Lastname, login_attempt = "0", name = u.RoleID.Name, password = "", updated_at = u.tsUpdate.Date.ToString("yyyy-MM-dd") + " " + u.tsUpdate.ToString("HH:mm:ss"), username = u.Username }; usersAPI.Add(usr); } var query = from u in user select new UserAPIModel { active = u.GrantAppAccess ? "1" : "0", avatar = "", created_at = u.tsInsert.Year.ToString() + "-" + u.tsInsert.Month.ToString() + "-" + u.tsInsert.Day.ToString() + " " + u.tsInsert.Hour + ":" + u.tsInsert.Minute + ":" + u.tsInsert.Second, email = u.EmployeeID.Email, first_name = u.EmployeeID.Firstname, group_id = u.RoleID.Code, id = u.UserID.ToString(), last_login = u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault() != null ? (u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault().LoginDate.Year + "-" + u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault().LoginDate.Month + "-" + u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault().LoginDate.Day + " " + u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault().LoginDate.Hour + ":" + u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault().LoginDate.Minute + ":" + u.ActiveUsers.OrderByDescending(o => o.LoginDate).FirstOrDefault().LoginDate.Second) : "", last_name = u.EmployeeID.Lastname, login_attempt = "0", name = u.RoleID.Name, password = "", updated_at = u.tsUpdate.Year.ToString() + "-" + u.tsUpdate.Month.ToString() + "-" + u.tsUpdate.Day.ToString() + " " + u.tsUpdate.Hour + ":" + u.tsUpdate.Minute + ":" + u.tsUpdate.Second, username = u.Username }; return(usersAPI); } catch (Exception ex) { string error = ""; CommonMethods.getError(ex, ref error); throw new Exception(CommonMethods.ConcatenateErrorIN_DB(DB_Exception.res_01, error, CommonMethods.GetCurrentMethodName())); } }
public IActionResult Register(UserAPIModel userData) { _userService.Register(userData); return(Ok()); }
public IActionResult SetPassword(UserAPIModel userData) { _authenticationService.SetUserPassWord(userData.Username, userData.Password); return(Ok()); }
public IActionResult Authenticate(UserAPIModel userData) { var user = _userService.Authenticate(userData.Username, userData.Password); return(Ok(user)); }