public async Task <bool> Add(SalesMaster entity) { try { var invenoty_bus = new List <InventoryBusModel>(); var Date = DateTime.Today.ToString("yyyyMM"); var all = salesMasterRepository.GetAll(_ => _.VoucherNo.StartsWith(Date)).AsEnumerable().Max(x => x.VoucherNo); entity.VoucherNo = GenerateVoucher.Generate(Date, all, 5); entity.CreatedAt = DateTime.Now; entity.Id = Guid.NewGuid(); foreach (var item in entity.SalesDetails) { item.SalesMasterId = entity.Id; item.CreatedAt = entity.CreatedAt; item.CreatedBy = entity.CreatedBy; item.Amount = item.UnitPrice * item.Qty; invenoty_bus.Add(new InventoryBusModel() { ProductId = item.ProductId, in_qty = 0, out_qty = item.Qty, remarks = "From Sales. Voucher No: " + entity.VoucherNo, createdBy = entity.CreatedBy }); } var s = await salesMasterRepository.Add(entity); if (s) { var msg = new InventoryBusMessage() { Name = JsonConvert.SerializeObject(invenoty_bus) }; await publishEndpoint.Publish <InventoryBusMessage>(msg); } return(s); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> UploadSalesMaster([FromBody] List <SalesMasterRequest> items) { try { var rt = new List <SalesMasterResponse>(); foreach (var item in items) { var obj = _mapper.Map <SalesMaster>(item); _salesMaster.Add(obj); rt.Add(_mapper.Map <SalesMasterResponse>(obj)); } await _salesMaster.Save(User.Identity.Name, _accessor.ActionContext.HttpContext.Connection.RemoteIpAddress.ToString()); return(Ok(rt)); } catch (Exception ex) { return(InternalServerError(ex)); } }