public async Task <ApiResponse <TitleResponse> > CreateAsync(TitleRequest req) { // TO DO: Duplicate name validation check Titles title = new Titles() { Name = req.Name, IsActive = true, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now }; unitOfWork.TitleServices.InsertAsync(title); var result = await unitOfWork.SaveAsync(); var response = new ApiResponse <TitleResponse>(); if (result) { response.Success = true; response.Message = Resource.Added; response.Data = new TitleResponse() { ID = title.ID, Name = title.Name, IsActive = title.IsActive }; } else { response.Success = false; response.Message = Resource.Failed; } return(response); }
public async Task <ActionResult> Created([FromBody] TitleRequest req) { var response = await titleService.CreateAsync(req); if (response.Success) { var baseUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent()}"; var locationUri = baseUrl + "/" + ApiRoute.Title.Get.Replace("{titleId}", response.Data.ID.ToString()); return(Created(locationUri, response)); } return(BadRequest(response)); }
public async Task <ApiResponse <TitleResponse> > UpdateAsync(int id, TitleRequest req) { var exist = await unitOfWork.TitleServices.CheckIfExistAsync(t => t.Name == req.Name && t.ID != id); var response = new ApiResponse <TitleResponse>(); if (exist) { response.Success = false; response.Message = Resource.Exist; return(response); } else { var title = await unitOfWork.TitleServices.GetByIdAsync(id); if (title == null) { response.Success = false; response.Message = Resource.NoRecord; return(response); } else { title.ModifiedDate = DateTime.Now; title.Name = req.Name; title.IsActive = req.IsActive; unitOfWork.TitleServices.UpdateAsync(title); var result = await unitOfWork.SaveAsync(); if (result) { response.Success = true; response.Message = Resource.Added; response.Data = new TitleResponse() { ID = title.ID, Name = title.Name, IsActive = title.IsActive }; } else { response.Success = false; response.Message = Resource.Failed; } return(response); } } }
public TitleResponse Get(TitleRequest request) { var session = _sessionRepository.GetById(request.SessionId); return(new TitleResponse(session, _automationService.GetTitle(session))); }
public async Task <ActionResult> Update(int titleId, [FromBody] TitleRequest req) { var response = await titleService.UpdateAsync(titleId, req); return(Ok(response)); }