public async Task <IActionResult> PurchaseOrderFormUpdate([FromBody] PurchaseOrderFormModel model, [FromQuery] int PoId)
        {
            var userId = GetUserId();

            if (ModelState.IsValid)
            {
                var purchaseOrder = await _purchaseOrderRepository.GetByIdAsync(PoId);

                if (purchaseOrder == null)
                {
                    return(NotFound(new { message = "Purchase Order does not exist" }));
                }

                //purchaseOrder.PoId = model.PoId;
                purchaseOrder.SupplierId = model.SupplierID;
                purchaseOrder.IssuedDate = model.IssuedDate;
                purchaseOrder.QuoteRef   = model.QuoteRef;
                purchaseOrder.Potype     = model.POType;

                _purchaseOrderRepository.Update(purchaseOrder);

                var endPointId = await GetEndPointId();

                var tblStaff = await _staffRepository.FirstOrDefaultAsync(x => x.AspnetUserId == userId);

                var newAudit = new TblAuthList
                {
                    Title       = "ContractAward",
                    Url         = "/api/v1/contractaward/purchaseorderformupdate",
                    CreatedDate = DateTime.Now,
                    Status      = 0,
                    StaffId     = tblStaff.StaffId,
                    BatchId     = Guid.NewGuid().ToString()
                };

                await _auditRepository.CreateAsync(newAudit);

                var emailAddress = await _emailAddressRepository.SendEmailAddress(endPointId, 1);

                await _auditRepository.SaveChangesAsync();

                return(Ok(
                           new
                {
                    message = "purchase order updated successfully",
                    EmailAddress = emailAddress
                }));
            }

            return(BadRequest(new
            {
                Errors = new[] { "Please input correct values" }
            }));
        }
        public async Task <IActionResult> SubmitPurchaseOrderForm([FromBody] PurchaseOrderFormModel model)
        {
            var userId = GetUserId();

            if (ModelState.IsValid)
            {
                var newPurchaseOrder = new TblPurchaseOrder
                {
                    SupplierId  = model.SupplierID,
                    IssuedDate  = model.IssuedDate,
                    QuoteRef    = model.QuoteRef,
                    Potype      = model.POType,
                    Poamount    = model.Poamount,
                    QuoMasterId = model.QuoMasterId,
                    CreatedDate = DateTime.Now
                };

                await _purchaseOrderRepository.CreateAsync(newPurchaseOrder);

                var endPointId = await GetEndPointId();

                var tblStaff = await _staffRepository.FirstOrDefaultAsync(x => x.AspnetUserId == userId);

                var newAudit = new TblAuthList
                {
                    Title       = "ContractAward",
                    Url         = "/api/v1/contractaward/submitpurchaseorderform",
                    CreatedDate = DateTime.Now,
                    Status      = 0,
                    StaffId     = tblStaff.StaffId,
                    BatchId     = Guid.NewGuid().ToString()
                };

                await _auditRepository.CreateAsync(newAudit);

                var emailAddress = await _emailAddressRepository.SendEmailAddress(endPointId, 1);

                await _auditRepository.SaveChangesAsync();

                return(Ok(
                           new
                {
                    message = "Purchase order created successfully",
                    EmailAddress = emailAddress
                }));
            }

            return(BadRequest(new
            {
                Errors = new[] { "Please input correct values" }
            }));
        }