public async Task <IActionResult> Put([FromRoute] int id, [FromBody] GarmentFinanceMemorialViewModel viewModel) { try { VerifyUser(); ValidateService.Validate(viewModel); GarmentFinanceMemorialModel model = Mapper.Map <GarmentFinanceMemorialModel>(viewModel); await Service.UpdateAsync(id, model); return(NoContent()); } catch (ServiceValidationException e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE) .Fail(e); return(BadRequest(Result)); } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public async Task <ActionResult> Post([FromBody] GarmentFinanceMemorialViewModel viewModel) { try { VerifyUser(); ValidateService.Validate(viewModel); GarmentFinanceMemorialModel model = Mapper.Map <GarmentFinanceMemorialModel>(viewModel); await Service.CreateAsync(model); Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE) .Ok(); return(Created(String.Concat(Request.Path, "/", 0), Result)); } catch (ServiceValidationException e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE) .Fail(e); return(BadRequest(Result)); } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public async Task <GarmentFinanceMemorialModel> GetTestData() { GarmentFinanceMemorialModel model = GetNewData(); await Service.CreateAsync(model); return(await Service.ReadByIdAsync(model.Id)); }
public async Task Should_Success_Create_Data() { GarmentFinanceMemorialService service = new GarmentFinanceMemorialService(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); GarmentFinanceMemorialModel model = _dataUtil(service, GetCurrentMethod()).GetNewData(); var Response = await service.CreateAsync(model); Assert.NotEqual(0, Response); }
public async Task Should_Success_Get_Data_By_Id() { GarmentFinanceMemorialService service = new GarmentFinanceMemorialService(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); GarmentFinanceMemorialModel model = await _dataUtil(service, GetCurrentMethod()).GetTestData(); var Response = await service.ReadByIdAsync(model.Id); Assert.NotNull(Response); }
public async Task DeleteModel(int id) { GarmentFinanceMemorialModel model = await ReadByIdAsync(id); foreach (var item in model.Items) { EntityExtension.FlagForDelete(item, IdentityService.Username, UserAgent, true); } EntityExtension.FlagForDelete(model, IdentityService.Username, UserAgent, true); DbSet.Update(model); }
public async Task <int> CreateAsync(GarmentFinanceMemorialModel model) { model.MemorialNo = GenerateNo(model); EntityExtension.FlagForCreate(model, IdentityService.Username, UserAgent); foreach (var item in model.Items) { EntityExtension.FlagForCreate(item, IdentityService.Username, UserAgent); } DbSet.Add(model); return(await DbContext.SaveChangesAsync()); }
public async Task Should_Success_Update_Data() { GarmentFinanceMemorialService service = new GarmentFinanceMemorialService(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); GarmentFinanceMemorialModel model = await _dataUtil(service, GetCurrentMethod()).GetTestData(); var newModel = await service.ReadByIdAsync(model.Id); //newModel.BGCheckNumber = "newBG"; var Response1 = await service.UpdateAsync(newModel.Id, newModel); Assert.NotEqual(0, Response1); GarmentFinanceMemorialModel model2 = await _dataUtil(service, GetCurrentMethod()).GetTestData(); //var newModel2 = await service.ReadByIdAsync(model.Id); GarmentFinanceMemorialModel newModel2 = new GarmentFinanceMemorialModel(); newModel2.Id = model2.Id; newModel2.Items = new List <GarmentFinanceMemorialItemModel> { model2.Items.First() }; newModel2.Items.First().Credit = 100; newModel2.Items.First().Debit = 100; var Response = await service.UpdateAsync(model2.Id, newModel2); Assert.NotEqual(0, Response); GarmentFinanceMemorialItemModel newItem = new GarmentFinanceMemorialItemModel { COAId = 3, COACode = "no3", COAName = "Name", Debit = 3, Credit = 0 }; GarmentFinanceMemorialItemModel newItem2 = new GarmentFinanceMemorialItemModel { COAId = 3, COACode = "no3", COAName = "Name", Credit = 3, Debit = 0 }; newModel2.Items.Add(newItem); newModel2.Items.Add(newItem2); var Response3 = await service.UpdateAsync(model2.Id, newModel2); Assert.NotEqual(0, Response); }
public async Task <int> UpdateAsync(int id, GarmentFinanceMemorialModel model) { var exist = DbSet .Include(d => d.Items) .Single(o => o.Id == id && !o.IsDeleted); if (exist.Date != model.Date) { exist.Date = model.Date; } if (exist.Remark != model.Remark) { exist.Remark = model.Remark; } if (exist.GarmentCurrencyRate != model.GarmentCurrencyRate) { exist.GarmentCurrencyRate = model.GarmentCurrencyRate; } foreach (var item in exist.Items) { GarmentFinanceMemorialItemModel itemModel = model.Items.FirstOrDefault(prop => prop.Id.Equals(item.Id)); if (itemModel == null) { EntityExtension.FlagForDelete(item, IdentityService.Username, UserAgent, true); } else { if (item.Debit != itemModel.Debit) { item.Debit = itemModel.Debit; } if (item.Credit != itemModel.Credit) { item.Credit = itemModel.Credit; } EntityExtension.FlagForUpdate(item, IdentityService.Username, UserAgent); } } foreach (var newItem in model.Items) { if (newItem.Id <= 0) { EntityExtension.FlagForCreate(newItem, IdentityService.Username, UserAgent); exist.Items.Add(newItem); } } EntityExtension.FlagForUpdate(exist, IdentityService.Username, UserAgent); return(await DbContext.SaveChangesAsync()); }
private string GenerateNo(GarmentFinanceMemorialModel model) { var yy = model.Date.ToString("yy"); var mm = model.Date.ToString("MM"); string prefix = yy + "/" + mm + "/E/"; var lastNo = DbSet.Where(w => w.MemorialNo.StartsWith(prefix)) .OrderByDescending(o => o.MemorialNo) .Select(s => int.Parse(s.MemorialNo.Replace(prefix, ""))) .FirstOrDefault(); var curNo = $"{prefix}{(lastNo + 1).ToString("D3")}"; return(curNo); }
public async Task <int> CreateAsync(GarmentFinanceMemorialDetailModel model) { EntityExtension.FlagForCreate(model, IdentityService.Username, UserAgent); foreach (var item in model.Items) { EntityExtension.FlagForCreate(item, IdentityService.Username, UserAgent); } foreach (var otherItem in model.OtherItems) { EntityExtension.FlagForCreate(otherItem, IdentityService.Username, UserAgent); } foreach (var rupiahItem in model.RupiahItems) { EntityExtension.FlagForCreate(rupiahItem, IdentityService.Username, UserAgent); } GarmentFinanceMemorialModel memorial = GarmentFinanceMemorialDbSet.FirstOrDefault(a => a.Id == model.MemorialId); memorial.IsUsed = true; DbSet.Add(model); return(await DbContext.SaveChangesAsync()); }