public async Task <ApiResponse> CreateIndividual([FromBody] CreateIndividualModel model) { var response = await _mediator.Send( Mapper.Map <CreateIndividualModel, CreateIndividualCommand>(model)); if (response.IsSuccess) { return(ApiResponseHandler.GenerateResponse(response.Type, response.Data)); } return(ApiResponseHandler.GenerateResponse(response.Type, null, ApiError.GenerateError(response))); }
public async Task <ActionResult> Create() { var model = new CreateIndividualModel(); model.IsMalaysian = true; var countries = await GetCountries(); model.MalaysiaCountryId = countries.Where(c => c.Name == "Malaysia").Select(s => s.Id).FirstOrDefault(); model.CountryCode = countries.Where(c => c.Name == "Malaysia").Select(s => s.CountryCode).FirstOrDefault(); model.States = new SelectList(await GetStates(), "Id", "Name", 0); model.Countries = new SelectList(countries.Where(c => c.Name != "Malaysia"), "Id", "Name", 0); model.Citizenships = new SelectList(countries.Where(c => c.Name != "Malaysia"), "Id", "Name", 0); model.Roles = new SelectList(await GetRoles(), "Id", "Name", 0); return(View(model)); }
public async Task <ActionResult> Create(CreateIndividualModel model) { if (model.IsMalaysian) { ModelState.Remove("PassportNo"); ModelState.Remove("CitizenshipId"); ModelState.Remove("PostCodeNonMalaysian"); ModelState.Remove("State"); ModelState.Remove("CountryId"); model.CountryId = model.MalaysiaCountryId; } else { ModelState.Remove("ICNo"); ModelState.Remove("PostCodeMalaysian"); ModelState.Remove("StateId"); model.StateId = null; } var emailResponse = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Get, $"Administration/User/IsEmailExist?id={null}&email={model.Email}"); if (emailResponse.Data) { ModelState.AddModelError("Email", Language.Administrator.Individual.ValidIsExistEmail); } var icno = model.ICNo; if (!model.IsMalaysian) { icno = model.PassportNo; } var icnoResponse = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Get, $"Administration/User/IsICNoExist?id={null}&icno={icno}"); if (icnoResponse.Data) { if (model.IsMalaysian) { ModelState.AddModelError("ICNo", Language.Administrator.Individual.ValidIsExistICNo); } else { ModelState.AddModelError("PassportNo", Language.Administrator.Individual.ValidIsExistPassportNo); } } if (ModelState.IsValid) { var response = await WepApiMethod.SendApiAsync <dynamic>(HttpVerbs.Post, $"Administration/Individual", model); if (response.isSuccess) { ParameterListToSend notificationParameter = new ParameterListToSend(); notificationParameter.UserFullName = model.Name; notificationParameter.Link = $"<a href = '" + BaseURL + "/Auth/ActivateAccount/" + response.Data.UID + "' > here </a>"; notificationParameter.LoginDetail = $"Email: { model.Email }\nPassword: { response.Data.Password }"; CreateAutoReminder notification = new CreateAutoReminder { NotificationType = NotificationType.ActivateAccount, NotificationCategory = NotificationCategory.Learning, ParameterListToSend = notificationParameter, StartNotificationDate = DateTime.Now, ReceiverId = new List <int> { (int)response.Data.UserId } }; var responseNotification = await WepApiMethod.SendApiAsync <ReminderResponse>(HttpVerbs.Post, $"Reminder/SLA/GenerateAutoNotificationReminder/", notification); await LogActivity(Modules.Setting, "Create Individual User", model); TempData["SuccessMessage"] = Language.Administrator.Individual.AlertCreateSuccess; return(RedirectToAction("List", "Individual", new { area = "Administrator" })); } else { TempData["ErrorMessage"] = Language.Administrator.Individual.AlertCreateFail; return(RedirectToAction("List", "Individual", new { area = "Administrator" })); } } var countries = await GetCountries(); model.MalaysiaCountryId = countries.Where(c => c.Name == "Malaysia").Select(s => s.Id).FirstOrDefault(); model.CountryCode = countries.Where(c => c.Name == "Malaysia").Select(s => s.CountryCode).FirstOrDefault(); model.States = new SelectList(await GetStates(), "Id", "Name", 0); model.Countries = new SelectList(countries.Where(c => c.Name != "Malaysia"), "Id", "Name", 0); model.Citizenships = new SelectList(countries.Where(c => c.Name != "Malaysia"), "Id", "Name", 0); model.Roles = new SelectList(await GetRoles(), "Id", "Name", 0); return(View(model)); }
public IHttpActionResult Post([FromBody] CreateIndividualModel model) { if (model.IsMalaysian) { ModelState.Remove("model.PassportNo"); ModelState.Remove("model.CitizenshipId"); ModelState.Remove("model.PostCodeNonMalaysian"); ModelState.Remove("model.State"); } else { ModelState.Remove("model.ICNo"); ModelState.Remove("model.PostCodeMalaysian"); ModelState.Remove("model.StateId"); } if (ModelState.IsValid) { var countryCode = db.Country.Where(c => c.Id == model.CountryId && c.Display).FirstOrDefault(); if (countryCode == null) { return(InternalServerError()); } var password = "******"; if (FEPHelperMethod.CurrentSystemMode() != SystemMode.Development) { password = Authentication.RandomString(10, true); } Authentication.GeneratePassword(password); var account = new UserAccount { LoginId = model.Email, IsEnable = false, HashPassword = Authentication.HashPassword, Salt = Authentication.Salt, LoginAttempt = 0 }; var individual = new IndividualProfile { IsMalaysian = model.IsMalaysian, CitizenshipId = model.CitizenshipId, Address1 = model.Address1, Address2 = model.Address2, PostCode = model.IsMalaysian ? model.PostCodeMalaysian : model.PostCodeNonMalaysian, City = model.City, StateName = model.State, StateId = model.StateId, CountryId = model.CountryId }; var user = new User { UserType = UserType.Individual, Name = model.Name, Email = model.Email, ICNo = model.IsMalaysian ? model.ICNo : model.PassportNo, MobileNo = model.MobileNo, CountryCode = countryCode.CountryCode1, Display = true, CreatedBy = null, CreatedDate = DateTime.Now, UserAccount = account, IndividualProfile = individual }; foreach (var roleid in model.RoleIds) { var userrole = new UserRole { RoleId = roleid, UserAccount = account, }; db.UserRole.Add(userrole); } db.User.Add(user); ActivateAccount activateaccount = new ActivateAccount { UID = Authentication.RandomString(50, true),//random alphanumeric UserId = user.Id, CreatedDate = DateTime.Now, IsActivate = false }; db.ActivateAccount.Add(activateaccount); db.SaveChanges(); return(Ok(new { UserId = user.Id, Password = password, UID = activateaccount.UID })); } return(BadRequest(ModelState)); }