public void Shoul_Success_Build_EditDetailRincian() { var vm = new EditDetailRincian() { AccountingBookId = 1, AccountingBookType = "Type", GarmentCurrenciesCode = "Code", GarmentCurrenciesId = 1, GarmentCurrenciesRate = 1, IsPosted = false, Items = new List <EditDetailRincianItems>() { new EditDetailRincianItems() { GarmentDeliveryOrderId = 1, GarmentDeliveryOrderNo = "DONo", Id = 1, MemoAmount = 1, MemoIdrAmount = 1, PaymentRate = 1, PurchasingRate = 1, RemarksDetail = "" } }, MemoDate = DateTimeOffset.Now, MemoId = 1, MemoNo = "No", Remarks = "Remarks" }; Assert.NotNull(vm); }
public async Task <IActionResult> Put([FromRoute] int id, [FromBody] EditDetailRincian viewModel) { try { VerifyUser(); _validateService.Validate(viewModel); await _service.UpdateAsync(id, viewModel); 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 void UpdateModel(int id, EditDetailRincian viewModel) { MemoDetailGarmentPurchasingModel existDb = DbSet .Include(d => d.MemoDetailGarmentPurchasingDetail) .Single(memoDetail => memoDetail.Id == id && !memoDetail.IsDeleted); existDb.MemoId = viewModel.MemoId; existDb.Remarks = viewModel.Remarks; existDb.MemoNo = viewModel.MemoNo; existDb.MemoDate = viewModel.MemoDate; existDb.AccountingBookId = viewModel.AccountingBookId; existDb.AccountingBookType = viewModel.AccountingBookType; existDb.GarmentCurrenciesId = viewModel.GarmentCurrenciesId; existDb.GarmentCurrenciesCode = viewModel.GarmentCurrenciesCode; existDb.GarmentCurrenciesRate = viewModel.GarmentCurrenciesRate; existDb.IsPosted = viewModel.IsPosted; EntityExtension.FlagForUpdate(existDb, _identityService.Username, UserAgent); DbSet.Update(existDb); foreach (var existRow in existDb.MemoDetailGarmentPurchasingDetail) { EditDetailRincianItems itemModel = viewModel.Items.FirstOrDefault(p => p.Id.Equals(existRow.Id)); if (itemModel == null) { EntityExtension.FlagForDelete(existRow, _identityService.Username, UserAgent); } else { existRow.GarmentDeliveryOrderId = itemModel.GarmentDeliveryOrderId; existRow.GarmentDeliveryOrderNo = itemModel.GarmentDeliveryOrderNo; existRow.RemarksDetail = itemModel.RemarksDetail; existRow.PaymentRate = itemModel.PaymentRate; existRow.PurchasingRate = itemModel.PurchasingRate; existRow.MemoAmount = itemModel.MemoAmount; existRow.MemoIdrAmount = itemModel.MemoIdrAmount; EntityExtension.FlagForUpdate(existRow, _identityService.Username, UserAgent); } } _dbContext.MemoDetailGarmentPurchasingDetails.UpdateRange(existDb.MemoDetailGarmentPurchasingDetail); foreach (var item in viewModel.Items) { if (item.Id == 0) { MemoDetailGarmentPurchasingDetailModel model = new MemoDetailGarmentPurchasingDetailModel(); model.GarmentDeliveryOrderId = item.GarmentDeliveryOrderId; model.GarmentDeliveryOrderNo = item.GarmentDeliveryOrderNo; model.RemarksDetail = item.RemarksDetail; model.PaymentRate = item.PaymentRate; model.PurchasingRate = item.PurchasingRate; model.MemoAmount = item.MemoAmount; model.MemoIdrAmount = item.MemoIdrAmount; model.MemoDetailId = id; EntityExtension.FlagForCreate(model, _identityService.Username, UserAgent); DbSetDetail.Add(model); } } }
public async Task <int> UpdateAsync(int id, EditDetailRincian viewModel) { UpdateModel(id, viewModel); return(await _dbContext.SaveChangesAsync()); }