public async Task <ActionResult> Post([FromBody] MemoDetailGarmentPurchasingViewModel viewModel) { try { VerifyUser(); _validateService.Validate(viewModel); MemoDetailGarmentPurchasingModel model = _mapper.Map <MemoDetailGarmentPurchasingModel>(viewModel); await _service.CreateAsync(model); var result = new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE).Ok(); return(Created(String.Concat(Request.Path, "/", 0), result)); } catch (ServiceValidationException e) { var result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE).Fail(e); return(BadRequest(result)); } catch (Exception e) { var result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, result)); } }
public async Task <MemoDetailGarmentPurchasingViewModel> ReadByIdAsync(int id) { var result = (MemoDetailGarmentPurchasingViewModel)null; var model = _dbContext.MemoDetailGarmentPurchasings.FirstOrDefault(entity => entity.Id == id); if (model != null) { result = new MemoDetailGarmentPurchasingViewModel() { Id = model.Id, IsPosted = model.IsPosted, MemoId = model.MemoId, Remarks = model.Remarks }; var memoDispositions = _dbContext.MemoDetailGarmentPurchasingDispositions.Where(entity => entity.MemoDetailGarmentPurchasingId == id).ToList(); var dispositionIds = memoDispositions.Select(element => element.Id).ToList(); var memoDetails = _dbContext.MemoDetailGarmentPurchasingDetails.Where(entity => dispositionIds.Contains(entity.MemoDispositionId)); var deliveryOrderIds = memoDetails.Select(element => element.GarmentDeliveryOrderId).ToList(); //var debtBalances = _dbContext.GarmentDebtBalances.Where(entity => deliveryOrderIds.Contains(entity.GarmentDeliveryOrderId)).ToList(); result.MemoDetailGarmentPurchasingDispositions = memoDispositions.Select(disposition => { var details = memoDetails.Where(detail => detail.MemoDispositionId == disposition.Id).ToList(); var mDetails = details.Select(detail => { //var debtBalance = debtBalances.FirstOrDefault(element => element.GarmentDeliveryOrderId == detail.GarmentDeliveryOrderId); return(new MemoDetail() { GarmentDeliveryOrderId = detail.GarmentDeliveryOrderId, GarmentDeliveryOrderNo = detail.GarmentDeliveryOrderNo, RemarksDetail = detail.RemarksDetail, PaymentRate = detail.PaymentRate, PurchasingRate = detail.PurchasingRate, MemoAmount = detail.MemoAmount, MemoIdrAmount = detail.MemoIdrAmount, BillsNo = detail.BillsNo, CurrencyCode = detail.CurrencyCode, InternalNoteNo = detail.InternalNoteNo, PaymentBills = detail.PaymentBills, SupplierCode = detail.SupplierCode, SupplierName = detail.SupplierName, PurchaseAmount = detail.PurchaseAmount }); }).ToList(); return(new MemoDetailGarmentPurchasingDispositionViewModel() { Disposition = new DispositionDto() { DispositionId = disposition.DispositionId, DispositionNo = disposition.DispositionNo, MemoDetails = mDetails } }); }).ToList(); } return(result); }
public async Task <IActionResult> Put([FromRoute] int id, [FromBody] MemoDetailGarmentPurchasingViewModel 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 Should_Success_Validate_Memo_Detail_Garment_Purchasing() { var vm = new MemoDetailGarmentPurchasingViewModel() { MemoDetailGarmentPurchasingDispositions = new List <MemoDetailGarmentPurchasingDispositionViewModel>() { new MemoDetailGarmentPurchasingDispositionViewModel() { Disposition = new DispositionDto() } } }; Assert.True(vm.Validate(null).Count() > 0); }
//public void CreateModel(MemoDetailGarmentPurchasingModel model) //{ // EntityExtension.FlagForCreate(model, _identityService.Username, UserAgent); // foreach (var item in model.MemoDetailGarmentPurchasingDetail) // { // EntityExtension.FlagForCreate(item, _identityService.Username, UserAgent); // } // DbSet.Add(model); //} public async Task <int> CreateAsync(MemoDetailGarmentPurchasingViewModel viewModel) { try { var memo = _dbContext.MemoGarmentPurchasings.FirstOrDefault(entity => entity.Id == viewModel.MemoId); var model = new MemoDetailGarmentPurchasingModel() { AccountingBookId = memo.AccountingBookId, AccountingBookType = memo.AccountingBookType, GarmentCurrenciesCode = memo.GarmentCurrenciesCode, GarmentCurrenciesId = memo.GarmentCurrenciesId, GarmentCurrenciesRate = memo.GarmentCurrenciesRate, MemoDate = memo.MemoDate, MemoId = viewModel.MemoId, MemoNo = memo.MemoNo, Remarks = viewModel.Remarks }; EntityExtension.FlagForCreate(model, _identityService.Username, UserAgent); _dbContext.MemoDetailGarmentPurchasings.Add(model); await _dbContext.SaveChangesAsync(); foreach (var item in viewModel.MemoDetailGarmentPurchasingDispositions) { var memoItem = new MemoDetailGarmentPurchasingDispositionModel() { DispositionId = item.Disposition.DispositionId, DispositionNo = item.Disposition.DispositionNo, MemoDetailGarmentPurchasingId = model.Id }; EntityExtension.FlagForCreate(memoItem, _identityService.Username, UserAgent); _dbContext.MemoDetailGarmentPurchasingDispositions.Add(memoItem); await _dbContext.SaveChangesAsync(); foreach (var detail in item.Disposition.MemoDetails) { var memoDetail = new MemoDetailGarmentPurchasingDetailModel() { GarmentDeliveryOrderId = detail.GarmentDeliveryOrderId, GarmentDeliveryOrderNo = detail.GarmentDeliveryOrderNo, MemoAmount = (int)detail.MemoAmount, MemoDispositionId = memoItem.Id, RemarksDetail = detail.RemarksDetail, MemoDetailId = model.Id, MemoId = memo.Id, PaymentRate = detail.PaymentRate, PurchasingRate = detail.PurchasingRate, SupplierCode = detail.SupplierCode, SupplierName = detail.SupplierName, BillsNo = detail.BillsNo, InternalNoteNo = detail.InternalNoteNo, CurrencyCode = detail.CurrencyCode, PaymentBills = detail.PaymentBills, PurchaseAmount = detail.PurchaseAmount }; EntityExtension.FlagForCreate(memoDetail, _identityService.Username, UserAgent); _dbContext.MemoDetailGarmentPurchasingDetails.Add(memoDetail); await _dbContext.SaveChangesAsync(); } } return(await _dbContext.SaveChangesAsync()); } catch (Exception e) { throw e; } }
public void UpdateModel(int id, MemoDetailGarmentPurchasingViewModel viewModel) { //MemoDetailGarmentPurchasingModel existDb = DbSet.FirstOrDefault(entity => entity.Id == id); //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); //var details = _dbContext.MemoDetailGarmentPurchasingDetails.Where(entity => entity.MemoId == id).ToList(); //foreach (var existRow in details) //{ // 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(details); //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); // } //} }