Beispiel #1
0
        public string SubmitInvoice(SupplierInvoiceSubmissionDTO entity)
        {
            //Save the submission and get ID to save invoice
            ITS_Submission subObj = new ITS_Submission();

            subObj = FindByPO(entity.POID);

            var submission = SaveSubmission(subObj, entity);

            //Save invoice

            var invoiceID = invService.SaveInvoices(entity, submission.ID);

            //Update PO to pending payment and due amount.
            ITS_PurchaseOrder poObj = new ITS_PurchaseOrder();

            poObj = orderService.Get(entity.POID);

            orderService.UpdatePO(poObj);

            if (entity.FileUploadType == "") //Check if we are saving for file upload or saving permanantly
            {
                //Finally updated the submission number
                UpdateSubmissionNumber(submission);

                return(submission.SubmissionNumber);
            }
            else
            {
                return(Convert.ToString(invoiceID));
            }
        }
Beispiel #2
0
        public SupplierInvoiceSubmissionDTO MapDTO(ITS_PurchaseOrder PO)
        {
            System.Globalization.CultureInfo ITSCulture = System.Globalization.CultureInfo.CurrentUICulture;

            string DateFormat = ITSCulture.DateTimeFormat.ShortDatePattern;

            List <ITS_InvoiceCategories> lstCategories = new List <ITS_InvoiceCategories>();

            lstCategories = invCatService.GetAll();

            var Categories = new InvoiceCategoriesCountDTO(invCatService.GetAll());

            List <ITS_POTypeDocTypeLink> obj = potypeService.LinkedDocuments(PO.POTypeID);

            PODocumentTypeDTO        objDocTypeDTO = new PODocumentTypeDTO();
            List <PODocumentTypeDTO> lst           = new List <PODocumentTypeDTO>();

            if (obj != null)
            {
                for (int i = 0; i < obj.Count(); i++)
                {
                    lst.Add(new PODocumentTypeDTO()
                    {
                        DocTypeID = obj[i].DocumentTypeID,
                        DocType   = obj[i].ITS_DocumentType.DocumentType,
                        Mandatory = Convert.ToString(obj[i].MandatoryYN)
                    });
                }
            }

            SupplierInvoiceSubmissionDTO sisDTO = new SupplierInvoiceSubmissionDTO();

            sisDTO.POID      = PO.ID;
            sisDTO.POStatus  = PO.Status;
            sisDTO.PONumber  = PO.PONumber;
            sisDTO.POAmount  = PO.POAmount;
            sisDTO.PODate    = PO.DateCreated.ToString(DateFormat);
            sisDTO.DueAmount = PO.PODueAmount;

            sisDTO.Name       = PO.ITS_Supplier.Name;
            sisDTO.CSDNumber  = PO.ITS_Supplier.CSDNumber;
            sisDTO.VendorCode = PO.ITS_Supplier.VendorCode;

            sisDTO.LinkedDocs = lst;
            if (Categories.Categories.Count != 0)
            {
                sisDTO.InvoiceCat = Categories.Categories;
            }

            // sisDTO.UploadedDocs = lstUpload;

            return(sisDTO);
        }
Beispiel #3
0
        public void UpdatePO(ITS_PurchaseOrder order)
        {
            order.PODueAmount = invService.CalculateAmountsDue(order);

            try
            {
                Update(order);
                SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public PODTO(ITS_PurchaseOrder PO)
        {
            ID       = PO.ID;
            PONumber = PO.PONumber;
            POAmount = PO.POAmount;
            PODate   = PO.PODate;
            POAmount = PO.POAmount;
            Status   = PO.Status;
            foreach (ITS_Submission sub in PO.ITS_Submission.ToList())
            {
                foreach (ITS_SupplierInvoice inv in sub.ITS_SupplierInvoice.ToList())
                {
                    InvoicedAmount += inv.InvoiceAmount;
                }
            }

            AmountOutstanding = POAmount - InvoicedAmount;
        }
Beispiel #5
0
        public decimal CalculateAmountsDue(ITS_PurchaseOrder PO)
        {
            decimal           duetotal   = 0;
            decimal           invamount  = 0;
            SubmissionService subService = new SubmissionService();

            var submission = subService.FindByPO(PO.ID);

            if (submission != null)
            {
                List <ITS_SupplierInvoice> invObj = new List <ITS_SupplierInvoice>();
                invObj = GetAll().Where(s => s.SubmissionID == submission.ID).ToList();

                foreach (var inv in invObj)
                {
                    invamount = invamount + inv.InvoiceAmount;
                }
            }
            duetotal = PO.POAmount - invamount;

            return(duetotal);
        }
 public IHttpActionResult Put([FromBody] ITS_PurchaseOrder PO)
 {
     return(Ok());
 }