public async Task <IActionResult> ApplyStock(StockApplicationViewModel stockApplicationViewModel) { var result = new Result <StockApplication>(); var stockApplication = new StockApplication { OrgId = stockApplicationViewModel.OrgId, ApplyStaffId = stockApplicationViewModel.ApplyStaffId, ApplyAt = DateTime.UtcNow.ToNZTimezone(), ProcessStatus = 1, ApplyReason = stockApplicationViewModel.ApplyReason, ReplyContent = null, IsDisputed = 0, ReplyAt = null, RecieveAt = null, DeliverAt = null, ApplicationDetails = new List <ApplicationDetails>() }; foreach (var pmq in stockApplicationViewModel.ProductIdQty) { var applicationDetails = new ApplicationDetails { ProductId = pmq.ProductId, AppliedQty = pmq.AppliedQty, DeliveredQty = null, ReceivedQty = null }; stockApplication.ApplicationDetails.Add(applicationDetails); } try { await _ablemusicContext.StockApplication.AddAsync(stockApplication); await _ablemusicContext.SaveChangesAsync(); } catch (Exception ex) { result.IsSuccess = false; result.ErrorMessage = ex.Message; return(BadRequest(result)); } result.Data = stockApplication; return(Ok(result)); }
public async Task <IActionResult> UpdateStock(int applicationId, StockApplicationViewModel stockApplicationViewModel) { var result = new Result <StockApplication>(); StockApplication stockApplication; try { stockApplication = await _ablemusicContext.StockApplication.Where(s => s.ApplicationId == applicationId) .Include(s => s.ApplicationDetails).FirstOrDefaultAsync(); } catch (Exception ex) { result.IsSuccess = false; result.ErrorMessage = ex.Message; return(BadRequest(result)); } if (stockApplication == null) { result.IsSuccess = false; result.ErrorMessage = "Stock Application not found"; return(BadRequest(result)); } if (stockApplication.ProcessStatus != 1) { result.IsSuccess = false; result.ErrorMessage = "This Stock Application is not allowed to change"; return(BadRequest(result)); } foreach (var detail in stockApplication.ApplicationDetails) { _ablemusicContext.ApplicationDetails.Remove(detail); } stockApplication.ApplicationDetails = new List <ApplicationDetails>(); foreach (var pmq in stockApplicationViewModel.ProductIdQty) { var applicationDetails = new ApplicationDetails { ApplicationId = applicationId, ProductId = pmq.ProductId, AppliedQty = pmq.AppliedQty, DeliveredQty = null, ReceivedQty = null }; stockApplication.ApplicationDetails.Add(applicationDetails); } stockApplication.OrgId = stockApplicationViewModel.OrgId; stockApplication.ApplyStaffId = stockApplicationViewModel.ApplyStaffId; stockApplication.ApplyAt = DateTime.UtcNow.ToNZTimezone(); stockApplication.ApplyReason = stockApplicationViewModel.ApplyReason; try { await _ablemusicContext.SaveChangesAsync(); } catch (Exception ex) { result.IsSuccess = false; result.ErrorMessage = ex.Message; return(BadRequest(result)); } result.Data = stockApplication; return(Ok(result)); }