public async Task <IActionResult> Post([FromBody] SchoolAdminViewModel model) { try { var user = new User { FullName = model.FullName, Email = model.Email, PhoneNumber = model.PhoneNumber }; ILogger <UsersController> logger = new LoggerFactory().CreateLogger <UsersController>(); OkObjectResult userResponse = (OkObjectResult)await new UsersController(Config, logger, DataContext).Post(user); var schoolAdmin = new SchoolAdmin { CoursesId = model.CoursesId, Deleted = false, GroupsId = model.GroupsId, TeachersId = model.TeachersId, Type = model.Type, UserId = Convert.ToString(userResponse.Value), SchoolId = model.SchoolId }; await UnitOfWork.Repository <SchoolAdmin>().InsertAsync(schoolAdmin); return(new OkObjectResult(schoolAdmin.Id)); } catch (Exception ex) { return(new BadRequestResult()); } }
public async Task <IHttpActionResult> School(SchoolAdminViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await _schoolAdminBuilder.UpdateAsync(model); return(Ok()); }
public async Task <bool> Post(SchoolAdminViewModel schoolAdmin) { try { var client = new RestClient(); var request = new RestRequest(url, Method.POST); request.RequestFormat = DataFormat.Json; request.AddHeader("Content-Type", "application/json"); request.AddJsonBody(schoolAdmin); var restResponse = await client.ExecuteTaskAsync(request, CancellationToken.None); return(restResponse.IsSuccessful); } catch (Exception e) { return(false); } }
public async Task UpdateAsync(SchoolAdminViewModel model) { var record = MapUpdate().CreateMapper().Map <SchoolAdmin>(model); if (!_repo.RoleManager.RoleExists("SchoolAdmin")) { var role = new ApplicationRole(); role.DateCreatedUtc = DateTime.UtcNow; role.Name = "SchoolAdmin"; await _repo.RoleManager.CreateAsync(role); } if ((model.AdminStatus == AdminStatus.Approved) && (await _repo.UserManager.IsInRoleAsync(model.UserId, "SchoolAdmin") == false)) { await _repo.UserManager.AddToRoleAsync(model.UserId, "SchoolAdmin"); } if ((model.AdminStatus == AdminStatus.Denied || model.AdminStatus == AdminStatus.Pending) && (await _repo.UserManager.IsInRoleAsync(model.UserId, "SchoolAdmin"))) { await _repo.UserManager.RemoveFromRoleAsync(model.UserId, "SchoolAdmin"); } await _repo.SchoolAdmins.AddOrUpdateAndSaveAsync(record); }