public async Task <StageChangeResponse> InsertOrUpdateAsync(AppState.Stage stage, int userId) { async Task AddNewStage() { var stageDto = new StageDto() { UserId = userId, Title = stage.Title }; _appDbContext.Stages.Add(stageDto); await _appDbContext.SaveChangesAsync(); } if (stage.Id != 0) { var exist = await _appDbContext.Stages.SingleOrDefaultAsync(p => p.Id == stage.Id && p.UserId == userId); if (exist != null) { exist.Title = stage.Title; await _appDbContext.SaveChangesAsync(); } else { await AddNewStage(); } } else { await AddNewStage(); } return(new StageChangeResponse()); }
public void AddStage_AddsNewStage_WhenAllIsOk() { //arrange var uow = new Mock <IUnitOfWork>(); uow.Setup(x => x.Stages.Add(It.IsAny <Stage>())) .Callback((Stage x) => { _stages.Add(x); }); uow.Setup(x => x.Stages.GetAll()).Returns(_stages); var newStage = new StageDto() { Caption = "TEST1" }; var stagesBefore = uow.Object.Stages.GetAll().Count(); //sut var sut = new OrdersService(uow.Object); sut.AddStage(newStage); var stages = sut.GetAllOrderStages().ToList(); //assert Assert.AreEqual(stagesBefore + 1, stages.Count); Assert.AreEqual(stages[1].Caption, newStage.Caption); }
private void Ok_Btn_Click(object sender, RoutedEventArgs e) { var stage = new StageDto() { Caption = StageCaption_Tb.Text }; var request = WebRequest.Create("http://localhost/online_shop_wcf_services/StageService.svc/stages"); request.Method = "POST"; request.Credentials = CredentialCache.DefaultCredentials; request.ContentType = "application/json"; var serializer = new JsonSerializer(); using (var streamWriter = new StreamWriter(request.GetRequestStream())) using (var writer = new JsonTextWriter(streamWriter)) { serializer.Serialize(writer, stage); } var response = request.GetResponse(); Close(); }
public async Task <IActionResult> PutStage(Guid id, StageDto stageDto) { var stage = _mapper.Map <Stage>(stageDto); if (id != stage.Id) { return(BadRequest()); } _context.Entry(stage).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!StageExists(id)) { return(NotFound()); } throw; } return(NoContent()); }
public async Task <ActionResult <StageDto> > PostStage(Guid sessionId, StageDto stageDto) { stageDto.SessionId = sessionId; var stage = _mapper.Map <Stage>(stageDto); _context.Stages.Add(stage); await _context.SaveChangesAsync(); return(CreatedAtAction("GetStage", new { sessionId = sessionId, id = stage.Id }, _mapper.Map <StageDto>(stage))); }
private void MSMQButton_Click(object sender, RoutedEventArgs e) { var stage = new StageDto() { Caption = StageCaption_Tb.Text }; var client = OnlineShopWebServicesContainer.Instance.StagesMSMQClientInstance; client.AddStage(stage); Close(); }
public async Task <AppStateResponse> LoadHistory(int id, int userId) { var history = await _appDbContext.History.FindAsync(id); if (history == null || history.UserId != userId) { return new AppStateResponse() { ErrorMessage = "History not found" } } ; var historyToRemove = _appDbContext.History.Where(p => p.UserId == userId && p.Id >= history.Id); _appDbContext.History.RemoveRange(historyToRemove); var stagesToRemove = _appDbContext.Stages.Where(p => p.UserId == userId); _appDbContext.Stages.RemoveRange(stagesToRemove); var issuesToRemove = _appDbContext.Issues.Where(p => stagesToRemove.SelectMany(i => i.Issues).Select(z => z.Id).Contains(p.Id)); _appDbContext.Issues.RemoveRange(issuesToRemove); var stages = JsonConvert.DeserializeObject <List <StageDto> >(history.Body); foreach (var stage in stages.OrderBy(p => p.Id)) { var newStage = new StageDto() { Title = stage.Title, UserId = stage.UserId, Issues = new List <IssueDto>() }; var newNextIssue = (IssueDto)null; var lastIssue = stage.Issues.SingleOrDefault(p => p.NextIssueId == null); while (lastIssue != null) { newNextIssue = new IssueDto() { Body = lastIssue.Body, CreatedDateTime = lastIssue.CreatedDateTime, Stage = newStage, Title = lastIssue.Title, UserId = lastIssue.UserId, NextIssue = newNextIssue }; _appDbContext.Issues.Add(newNextIssue); lastIssue = stage.Issues.SingleOrDefault(p => p.NextIssueId == lastIssue.Id); } _appDbContext.Stages.Add(newStage); } await _appDbContext.SaveChangesAsync(); return(new AppStateResponse() { AppState = await GetStateAsync(userId) }); } }
public void AddStage(StageDto stage) { _orderService.AddStage(stage); }
public async Task CreateStageAsync([FromBody] StageDto stage) { await _stageService.CreateStageAsync(stage); }
public async Task CreateStageAsync(StageDto stage) { await _context.AddAsync(_mapper.Map <Stage>(stage)); await _context.SaveChangesAsync(); }
public void AddStage(StageDto stage) { DbUnitOfWork.Stages.Add(Mapper.Map <StageDto, Stage>(stage)); DbUnitOfWork.Stages.SaveChanges(); }