public async Task ChangeStatusAsync(int projectId, ProjectStatusDto status) { var project = await _unitOfWork.Repository <Project>().Get(p => p.Id == projectId); if (project == null) { throw new ArgumentNullException( $"Error while changing status. Project with id {nameof(projectId)}={projectId} not found"); } var mapper = new MapperConfiguration(cfg => cfg.CreateMap <ProjectStatusDto, ProjectStatus>()) .CreateMapper(); var projectStatus = mapper.Map <ProjectStatusDto, ProjectStatus>(status); project.StatusId = projectStatus; if (project.StatusId == ProjectStatus.Approved) { var chatId = await _chatService.CreateChat(project.Name); project.ChatId = chatId; } _unitOfWork.Repository <Project>().Update(project); await _unitOfWork.SaveChangesAsync(); }
public static ProjectStatusDto EntityToDto(ProjectStatus entity) { var dto = new ProjectStatusDto { Id = entity.Id, Name = entity.Name, }; return(dto); }
public static ProjectStatus DtoToEntity(ProjectStatusDto dto) { var entity = new ProjectStatus { Id = dto.Id, Name = dto.Name, }; return(entity); }
public static void Create(ProjectStatusDto dto) { using (var db = new MainDBModelContainer()) { var entity = ProjectStatusMapper.DtoToEntity(dto); db.ProjectStatusSet.Add(entity); db.SaveChanges(); } }
public HttpResponseMessage Post(ProjectStatusDto dto) { try { if (dto != null) { ProjectStatusRepository.Create(dto); return(Request.CreateResponse(HttpStatusCode.OK)); } return(Request.CreateResponse(HttpStatusCode.BadRequest)); } catch (Exception) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Generic error happened.")); } }
public static void Update(ProjectStatusDto dto) { using (var db = new MainDBModelContainer()) { var newData = ProjectStatusMapper.DtoToEntity(dto); var oldData = db.ProjectStatusSet.Find(dto.Id); if (oldData != null) { oldData.Name = newData.Name; db.SaveChanges(); } else { throw new ElementNotFoundException(); } } }