public DataTable GetRelatedReceives()
        {
            ReceiptInvoice invoice = new ReceiptInvoice();
            var            query   = HCMIS.Repository.Queries.ReceiptInvoice.SelectGetRelatedReceives(this.ID);

            invoice.LoadFromRawSql(query);
            return(invoice.DataTable);
        }
        public bool CheckIfThisInvoiceHasBeenReceived()
        {
            var invoice = new ReceiptInvoice();
            var query   = HCMIS.Repository.Queries.ReceiptInvoice.SelectIfThisInvoiceHasBeenReceived(ID);

            invoice.LoadFromRawSql(query);
            return(invoice.RowCount > 0);
        }
        public static bool IsInvoiceEditable(int ID)
        {
            ReceiptInvoice invoice = new ReceiptInvoice();

            var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectIsInvoiceEditable(ID, Settings.DisableInvoiceEditAfterStepNo);

            invoice.LoadFromRawSql(query);
            return(invoice.RowCount == 0);
        }
        public static DataView GetIncompleteInvoicesForCenter(int userID, bool isDeliveryNote)
        {
            var invoice = new ReceiptInvoice();

            if (BLL.Settings.IsCenter) // If Center, Get incomplete invoices including those with FOB = 0
            {
                var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectGetIncompleteInvoicesForCenter(userID, isDeliveryNote);
                invoice.LoadFromRawSql(query);
            }
            return(invoice.DefaultView);
        }
        public static decimal GetInvoiceQuantity(string invoiceNo, string itemId, string unitId, string manufacturerId)
        {
            ReceiptInvoice invoice = new ReceiptInvoice();
            var            query   = HCMIS.Repository.Queries.ReceiptInvoice.SelectGetInvoiceQuantity(invoiceNo, itemId, unitId, manufacturerId);

            invoice.LoadFromRawSql(query);
            if (invoice.RowCount == 0)
            {
                return(0);
            }

            return((decimal)invoice.GetColumn("Quantity"));
        }
        public static bool IsInvoiceElectronic(string invoiceNo)
        {
            ReceiptInvoice invoice = new ReceiptInvoice();
            var            query   = HCMIS.Repository.Queries.ReceiptInvoice.SelectIsInvoiceElectronic(invoiceNo);

            invoice.LoadFromRawSql(query);

            if (invoice.RowCount == 0)
            {
                return(false);
            }
            return((bool)invoice.GetColumn("IsElectronic"));
        }
        /// <summary>
        /// It will return all Invoice For Now
        /// </summary>
        /// <returns></returns>
        public static DataView GetIncompleteInvoices(int userID, int poTypeID, int documentTypeID)
        {
            SoftwareSettings softwareSetting = new SoftwareSettings();
            ReceiptInvoice   Invoice         = new ReceiptInvoice();

            var  settingDT = softwareSetting.GetValue("IsElectronicReceiveOnly");
            bool isNonElectronicReceiveOnly = true;

            if (settingDT.Rows.Count != 0)
            {
                isNonElectronicReceiveOnly = bool.Parse(settingDT.Rows[0].Field <string>("Value").ToLower());
            }

            var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectGetIncompleteInvoices(userID, isNonElectronicReceiveOnly, poTypeID, documentTypeID);

            Invoice.LoadFromRawSql(query);


            return(Invoice.DefaultView);
        }
 public DataTable GetRelatedReceives()
 {
     ReceiptInvoice invoice = new ReceiptInvoice();
     var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectGetRelatedReceives(this.ID);
     invoice.LoadFromRawSql(query);
     return invoice.DataTable;
 }
 public bool CheckIfThisInvoiceHasBeenReceived()
 {
     var invoice = new ReceiptInvoice();
     var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectIfThisInvoiceHasBeenReceived(ID);
     invoice.LoadFromRawSql(query);
     return (invoice.RowCount > 0);
 }
        public static bool IsInvoiceElectronic(string invoiceNo)
        {
            ReceiptInvoice invoice = new ReceiptInvoice();
            var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectIsInvoiceElectronic(invoiceNo);
            invoice.LoadFromRawSql(query);

            if (invoice.RowCount == 0) return false;
            return (bool)invoice.GetColumn("IsElectronic");
        }
        public static bool IsInvoiceEditable(int ID)
        {
            ReceiptInvoice invoice = new ReceiptInvoice();

            var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectIsInvoiceEditable(ID, Settings.DisableInvoiceEditAfterStepNo);
            invoice.LoadFromRawSql(query);
            return invoice.RowCount == 0;
        }
        public static decimal GetInvoiceQuantity(string invoiceNo, string itemId, string unitId, string manufacturerId)
        {
            ReceiptInvoice invoice = new ReceiptInvoice();
            var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectGetInvoiceQuantity(invoiceNo, itemId, unitId, manufacturerId);
            invoice.LoadFromRawSql(query);
            if (invoice.RowCount == 0) return 0;

            return (decimal)invoice.GetColumn("Quantity");
        }
        public static DataView GetIncompleteInvoicesForCenter(int userID, bool isDeliveryNote)
        {
            var invoice = new ReceiptInvoice();

            if (BLL.Settings.IsCenter) // If Center, Get incomplete invoices including those with FOB = 0
            {
                var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectGetIncompleteInvoicesForCenter(userID, isDeliveryNote);
                invoice.LoadFromRawSql(query);
            }
            return invoice.DefaultView;
        }
        /// <summary>
        /// It will return all Invoice For Now
        /// </summary>
        /// <returns></returns>
        public static DataView GetIncompleteInvoices(int userID, int poTypeID, int documentTypeID)
        {
            SoftwareSettings softwareSetting = new SoftwareSettings();
            ReceiptInvoice Invoice = new ReceiptInvoice();

            var settingDT = softwareSetting.GetValue("IsElectronicReceiveOnly");
            bool isNonElectronicReceiveOnly = true;

            if (settingDT.Rows.Count != 0)
            {
                isNonElectronicReceiveOnly = bool.Parse(settingDT.Rows[0].Field<string>("Value").ToLower());
            }

            var query = HCMIS.Repository.Queries.ReceiptInvoice.SelectGetIncompleteInvoices(userID, isNonElectronicReceiveOnly,poTypeID,documentTypeID);
            Invoice.LoadFromRawSql(query);

            return Invoice.DefaultView;
        }