示例#1
0
        public MST_School Update(SchoolQPaper_entities entities, int SCHL_id, string SCHL_code, string SCHL_name, string SCHL_address,
                                 string SCHL_font, string SCHL_principal_name, string SCHL_principal_address, string SCHL_principal_tele,
                                 int?AGENT_id, int?PROVINCE_id, int?ZONE_id, int?DIVISION_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_School school_rec = entities.MST_School.Find(SCHL_id);

            school_rec.SCHL_code              = SCHL_code;
            school_rec.SCHL_name              = SCHL_name;
            school_rec.SCHL_address           = SCHL_address;
            school_rec.SCHL_font              = SCHL_font;
            school_rec.SCHL_principal_name    = SCHL_principal_name;
            school_rec.SCHL_principal_address = SCHL_principal_address;
            school_rec.SCHL_principal_tele    = SCHL_principal_tele;
            school_rec.AGENT_id    = AGENT_id;
            school_rec.PROVINCE_id = PROVINCE_id;
            school_rec.ZONE_id     = ZONE_id;
            school_rec.DIVISION_id = DIVISION_id;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(school_rec);
        }
        public TRN_Receipt_H Update(SchoolQPaper_entities entities, int RECEIPT_id, string RECEIPT_code, DateTime RECEIPT_date,
                                    DateTime RECEIPT_tran_date, decimal RECEIPT_amount, string RECEIPT_remarks, string RECEIPT_font, int?SCHL_id,
                                    int?AGENT_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_Receipt_H receipth_rec = entities.TRN_Receipt_H.Find(RECEIPT_id);

            receipth_rec.RECEIPT_code      = RECEIPT_code;
            receipth_rec.RECEIPT_date      = RECEIPT_date;
            receipth_rec.RECEIPT_tran_date = RECEIPT_tran_date;
            receipth_rec.RECEIPT_amount    = RECEIPT_amount;
            receipth_rec.RECEIPT_remarks   = RECEIPT_remarks;
            receipth_rec.RECEIPT_font      = RECEIPT_font;
            receipth_rec.SCHL_id           = SCHL_id;
            receipth_rec.AGENT_id          = AGENT_id;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(receipth_rec);
        }
        public void Delete(SchoolQPaper_entities entities, int PPRODR01_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            System.Data.Entity.DbContextTransaction trans = null;
            if (dispose)
            {
                trans = entities.Database.BeginTransaction();
            }

            entities.TRN_PaperOrder01_D.Where(x => x.PPRODR01_id == PPRODR01_id).ToList().ForEach(r =>
            {
                new TRN_PaperOrder01_D_Class().Delete(entities, r.PPRODR01D_id);
            });
            new TRN_PaperOrder01_H_Class().Delete(entities, PPRODR01_id);

            int RECEIVABLES_id = entities.TRN_Receivable.Where(x => x.RECEIVABLES_doc_id == PPRODR01_id && x.DOCU_id == Misc.Properties.DBs.SchoolQPaper.dbo.MST_Document.Records.Up_to_O_L_Invoice).FirstOrDefault().RECEIVABLES_id;

            entities.TRN_Receivable.Where(x => x.RECEIVABLES_ref_id != null && x.RECEIVABLES_ref_id == RECEIVABLES_id && x.DOCU_id == Misc.Properties.DBs.SchoolQPaper.dbo.MST_Document.Records.Receipt).ToList().ForEach(r =>
            {
                new Receipt.Receipt_Class().Delete(entities, r.RECEIVABLES_doc_id);
            });
            new TRN_Receivable_Class().Delete(entities, RECEIVABLES_id);

            if (dispose)
            {
                trans.Commit();
                trans.Dispose();
                entities.Dispose();
            }
        }
        public void Delete(SchoolQPaper_entities entities, int RECEIPTD_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            entities.TRN_Receipt_D.Remove(entities.TRN_Receipt_D.Find(RECEIPTD_id));
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
        }
示例#5
0
        public void Delete(SchoolQPaper_entities entities, int SCHL_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            entities.MST_School.Remove(entities.MST_School.Find(SCHL_id));
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
        }
        public void Delete(SchoolQPaper_entities entities, int PROVINCE_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            entities.MST_Province.Remove(entities.MST_Province.Find(PROVINCE_id));
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
        }
        public void Delete(SchoolQPaper_entities entities, int TRAINST_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            entities.MST_TrainStation.Remove(entities.MST_TrainStation.Find(TRAINST_id));
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
        }
        public void Delete(SchoolQPaper_entities entities, int DIVISION_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            entities.MST_Division.Remove(entities.MST_Division.Find(DIVISION_id));
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
        }
示例#9
0
        public void Delete(SchoolQPaper_entities entities, int PPRODR01D_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            entities.TRN_PaperOrder01_D.Remove(entities.TRN_PaperOrder01_D.Find(PPRODR01D_id));
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
        }
        public string GetDocumentCode(SchoolQPaper_entities entities, int DOCU_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_Document document_rec = entities.MST_Document.Find(DOCU_id);
            string       Code         = document_rec.DOCU_prefix + new SchoolQPaper.MST_Document_Class().Update(entities, DOCU_id, document_rec.DOCU_name, document_rec.DOCU_prefix, document_rec.DOCU_last_no + 1).DOCU_last_no.ToString().PadLeft(7, '0');

            if (dispose)
            {
                entities.Dispose();
            }
            return(Code);
        }
        public MST_TrainStation Update(SchoolQPaper_entities entities, int TRAINST_id, string TRAINST_name, string TRAINST_font)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_TrainStation trainstation_rec = entities.MST_TrainStation.Find(TRAINST_id);

            trainstation_rec.TRAINST_name = TRAINST_name;
            trainstation_rec.TRAINST_font = TRAINST_font;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(trainstation_rec);
        }
        public MST_Province Update(SchoolQPaper_entities entities, int PROVINCE_id, string PROVINCE_name, string PROVINCE_font)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_Province province_rec = entities.MST_Province.Find(PROVINCE_id);

            province_rec.PROVINCE_name = PROVINCE_name;
            province_rec.PROVINCE_font = PROVINCE_font;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(province_rec);
        }
        public MST_Agent Update(SchoolQPaper_entities entities, int AGENT_id, string AGENT_name, string AGENT_font)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_Agent agent_rec = entities.MST_Agent.Find(AGENT_id);

            agent_rec.AGENT_name = AGENT_name;
            agent_rec.AGENT_font = AGENT_font;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(agent_rec);
        }
        public MST_Zone Update(SchoolQPaper_entities entities, int ZONE_id, string ZONE_name, string ZONE_font, int PROVINCE_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_Zone zone_rec = entities.MST_Zone.Find(ZONE_id);

            zone_rec.ZONE_name   = ZONE_name;
            zone_rec.ZONE_font   = ZONE_font;
            zone_rec.PROVINCE_id = PROVINCE_id;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(zone_rec);
        }
        public MST_TrainStation Insert(SchoolQPaper_entities entities, string TRAINST_name, string TRAINST_font)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_TrainStation trainstation_rec = new MST_TrainStation();

            trainstation_rec.TRAINST_name = TRAINST_name;
            trainstation_rec.TRAINST_font = TRAINST_font;
            entities.MST_TrainStation.Add(trainstation_rec);
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(trainstation_rec);
        }
        public MST_Province Insert(SchoolQPaper_entities entities, string PROVINCE_name, string PROVINCE_font)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_Province province_rec = new MST_Province();

            province_rec.PROVINCE_name = PROVINCE_name;
            province_rec.PROVINCE_font = PROVINCE_font;
            entities.MST_Province.Add(province_rec);
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(province_rec);
        }
        public MST_Agent Insert(SchoolQPaper_entities entities, string AGENT_name, string AGENT_font)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_Agent agent_rec = new MST_Agent();

            agent_rec.AGENT_name = AGENT_name;
            agent_rec.AGENT_font = AGENT_font;
            entities.MST_Agent.Add(agent_rec);
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(agent_rec);
        }
        public MST_Division Update(SchoolQPaper_entities entities, int DIVISION_id, string DIVISION_name, string DIVISION_font,
                                   int ZONE_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_Division division_rec = entities.MST_Division.Find(DIVISION_id);

            division_rec.DIVISION_name = DIVISION_name;
            division_rec.DIVISION_font = DIVISION_font;
            division_rec.ZONE_id       = ZONE_id;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(division_rec);
        }
示例#19
0
        public TRN_Receipt_PayType Update(SchoolQPaper_entities entities, int RECEIPTPAYTYP_id, decimal RECEIPTPAYTYP_amount,
                                          int PAYTYP_id, int RECEIPT_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_Receipt_PayType receiptpaytype_rec = entities.TRN_Receipt_PayType.Find(RECEIPTPAYTYP_id);

            receiptpaytype_rec.RECEIPTPAYTYP_amount = RECEIPTPAYTYP_amount;
            receiptpaytype_rec.PAYTYP_id            = PAYTYP_id;
            receiptpaytype_rec.RECEIPT_id           = RECEIPT_id;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(receiptpaytype_rec);
        }
        public TRN_Receipt_CHQ_Info Update(SchoolQPaper_entities entities, int RECEIPTCHQ_id, string RECEIPTCHQ_chq_no,
                                           DateTime?RECEIPTCHQ_date, int RECEIPTPAYTYP_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_Receipt_CHQ_Info receiptchqinfo_rec = entities.TRN_Receipt_CHQ_Info.Find(RECEIPTCHQ_id);

            receiptchqinfo_rec.RECEIPTCHQ_chq_no = RECEIPTCHQ_chq_no;
            receiptchqinfo_rec.RECEIPTCHQ_date   = RECEIPTCHQ_date;
            receiptchqinfo_rec.RECEIPTPAYTYP_id  = RECEIPTPAYTYP_id;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(receiptchqinfo_rec);
        }
        internal MST_Document Update(SchoolQPaper_entities entities, int DOCU_id, string DOCU_name, string DOCU_prefix,
                                     int DOCU_last_no)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            MST_Document document_rec = entities.MST_Document.Find(DOCU_id);

            document_rec.DOCU_name    = DOCU_name;
            document_rec.DOCU_prefix  = DOCU_prefix;
            document_rec.DOCU_last_no = DOCU_last_no;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(document_rec);
        }
示例#22
0
        public void Delete(SchoolQPaper_entities entities, int RECEIPT_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            System.Data.Entity.DbContextTransaction trans = null;
            if (dispose)
            {
                trans = entities.Database.BeginTransaction();
            }

            entities.TRN_Receipt_PayType.ToList().ForEach(r =>
            {
                if (r.TRN_Receipt_MO_Info.Count != 0)
                {
                    new TRN_Receipt_MO_Info_Class().Delete(entities, r.TRN_Receipt_MO_Info.FirstOrDefault().RECEIPTMO_id);
                }
                if (r.TRN_Receipt_CHQ_Info.Count != 0)
                {
                    new TRN_Receipt_CHQ_Info_Class().Delete(entities, r.TRN_Receipt_CHQ_Info.FirstOrDefault().RECEIPTCHQ_id);
                }
                new TRN_Receipt_PayType_Class().Delete(entities, r.RECEIPTPAYTYP_id);
            });

            entities.TRN_Receipt_D.ToList().ForEach(r =>
            {
                new TRN_Receipt_D_Class().Delete(entities, r.RECEIPTD_id);
            });

            new TRN_Receipt_H_Class().Delete(entities, RECEIPT_id);

            new TRN_Receivable_Class().Delete(entities, entities.TRN_Receivable.Where(x => x.RECEIVABLES_doc_id == RECEIPT_id && x.DOCU_id == Misc.Properties.DBs.SchoolQPaper.dbo.MST_Document.Records.Receipt).FirstOrDefault().RECEIVABLES_id);

            if (dispose)
            {
                trans.Commit();
                trans.Dispose();
                entities.Dispose();
            }
        }
        public TRN_PaperOrder02_D Update(SchoolQPaper_entities entities, int PPRODR02D_id, int PPRODR02D_paper_qty, int GRADE_id,
                                         int SUBJ_id, int PPRODR02_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_PaperOrder02_D paperorder02_d_rec = new TRN_PaperOrder02_D();

            paperorder02_d_rec.PPRODR02D_paper_qty = PPRODR02D_paper_qty;
            paperorder02_d_rec.GRADE_id            = GRADE_id;
            paperorder02_d_rec.SUBJ_id             = SUBJ_id;
            paperorder02_d_rec.PPRODR02_id         = PPRODR02_id;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(paperorder02_d_rec);
        }
        public TRN_Receipt_D Update(SchoolQPaper_entities entities, int RECEIPTD_id, decimal RECEIPTD_amount, int RECEIPTD_doc_id,
                                    int RECEIPT_id, int DOCU_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_Receipt_D receiptd_rec = entities.TRN_Receipt_D.Find(RECEIPTD_id);

            receiptd_rec.RECEIPTD_amount = RECEIPTD_amount;
            receiptd_rec.RECEIPTD_doc_id = RECEIPTD_doc_id;
            receiptd_rec.RECEIPTD_id     = RECEIPT_id;
            receiptd_rec.DOCU_id         = DOCU_id;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(receiptd_rec);
        }
        public TRN_PaperOrder01_H Insert(SchoolQPaper_entities entities, string PPRODR01_code, DateTime PPRODR01_datetime,
                                         string PPRODR01_remarks, decimal PPRODR01_advanced_pay, string PPRODR01_cheque_no, string PPRODR01_mo_office,
                                         int PPRODR01_additional_papers, string PPRODR01_font, decimal PPRODR01_gross_tot, decimal PPRODR01_discount_amnt,
                                         decimal PPRODR01_net_tot, decimal PPRODR01_discount_percnt, string PPRODR01_telephone, string PPRODR01_train_received_by,
                                         string PPRODR01_train_received_by_nic, int?TRAINST_id, int SCHL_id, int DELIMETH_id, int PAYTYP_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_PaperOrder01_H paperorder01_rec = new TRN_PaperOrder01_H();

            paperorder01_rec.PPRODR01_code                  = PPRODR01_code;
            paperorder01_rec.PPRODR01_datetime              = PPRODR01_datetime;
            paperorder01_rec.PPRODR01_remarks               = PPRODR01_remarks;
            paperorder01_rec.PPRODR01_advanced_pay          = PPRODR01_advanced_pay;
            paperorder01_rec.PPRODR01_cheque_no             = PPRODR01_cheque_no;
            paperorder01_rec.PPRODR01_mo_office             = PPRODR01_mo_office;
            paperorder01_rec.PPRODR01_additional_papers     = PPRODR01_additional_papers;
            paperorder01_rec.PPRODR01_font                  = PPRODR01_font;
            paperorder01_rec.PPRODR01_gross_tot             = PPRODR01_gross_tot;
            paperorder01_rec.PPRODR01_discount_amnt         = PPRODR01_discount_amnt;
            paperorder01_rec.PPRODR01_net_tot               = PPRODR01_net_tot;
            paperorder01_rec.PPRODR01_discount_percnt       = PPRODR01_discount_percnt;
            paperorder01_rec.PPRODR01_telephone             = PPRODR01_telephone;
            paperorder01_rec.PPRODR01_train_received_by     = PPRODR01_train_received_by;
            paperorder01_rec.PPRODR01_train_received_by_nic = PPRODR01_train_received_by_nic;
            paperorder01_rec.TRAINST_id  = TRAINST_id;
            paperorder01_rec.SCHL_id     = SCHL_id;
            paperorder01_rec.DELIMETH_id = DELIMETH_id;
            paperorder01_rec.PAYTYP_id   = PAYTYP_id;
            entities.TRN_PaperOrder01_H.Add(paperorder01_rec);
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(paperorder01_rec);
        }
        public TRN_Receipt_MO_Info Insert(SchoolQPaper_entities entities, DateTime?RECEIPTMO_date, string RECEIPTMO_no,
                                          string RECEIPTMO_office, int RECEIPTPAYTYP_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_Receipt_MO_Info receiptmoinfo_rec = new TRN_Receipt_MO_Info();

            receiptmoinfo_rec.RECEIPTMO_date   = RECEIPTMO_date;
            receiptmoinfo_rec.RECEIPTMO_no     = RECEIPTMO_no;
            receiptmoinfo_rec.RECEIPTMO_office = RECEIPTMO_office;
            receiptmoinfo_rec.RECEIPTPAYTYP_id = RECEIPTPAYTYP_id;
            entities.TRN_Receipt_MO_Info.Add(receiptmoinfo_rec);
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(receiptmoinfo_rec);
        }
示例#27
0
        public TRN_PaperOrder01_D Insert(SchoolQPaper_entities entities, int PPRODR01D_paper_qty, bool PPRODR01D_ignore_qty,
                                         int GRADE_id, int SUBJ_id, int PPRODR01_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_PaperOrder01_D paperorder01_d_rec = new TRN_PaperOrder01_D();

            paperorder01_d_rec.PPRODR01D_paper_qty  = PPRODR01D_paper_qty;
            paperorder01_d_rec.PPRODR01D_ignore_qty = PPRODR01D_ignore_qty;
            paperorder01_d_rec.GRADE_id             = GRADE_id;
            paperorder01_d_rec.SUBJ_id     = SUBJ_id;
            paperorder01_d_rec.PPRODR01_id = PPRODR01_id;
            entities.TRN_PaperOrder01_D.Add(paperorder01_d_rec);
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }
            return(paperorder01_d_rec);
        }
示例#28
0
        public TRN_Receivable Update(SchoolQPaper_entities entities, int RECEIVABLES_id, int RECEIVABLES_doc_id, decimal RECEIVABLES_value,
                                     decimal RECEIVABLES_balance, int?RECEIVABLES_ref_id, int DOCU_id)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_Receivable receivable_rec = entities.TRN_Receivable.Find(RECEIVABLES_id);

            receivable_rec.RECEIVABLES_doc_id  = RECEIVABLES_doc_id;
            receivable_rec.RECEIVABLES_value   = RECEIVABLES_value;
            receivable_rec.RECEIVABLES_balance = RECEIVABLES_balance;
            receivable_rec.RECEIVABLES_ref_id  = RECEIVABLES_ref_id;
            receivable_rec.DOCU_id             = DOCU_id;
            entities.SaveChanges();

            if (dispose)
            {
                entities.Dispose();
            }

            return(receivable_rec);
        }
示例#29
0
        public TRN_Receipt_H Save(SchoolQPaper_entities entities, string RECEIPT_code, DateTime RECEIPT_date,
                                  DateTime RECEIPT_tran_date, decimal RECEIPT_amount, string RECEIPT_remarks, string RECEIPT_font, int?SCHL_id,
                                  int?AGENT_id,
                                  Data.Grid_DS.DS_Receipt DS_Receipt_Obj)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_Receipt_H receipth_rec = null;

            System.Data.Entity.DbContextTransaction trans = null;
            if (dispose)
            {
                trans = entities.Database.BeginTransaction();
            }

            try
            {
                RECEIPT_code = new Document.Document_Class().GetDocumentCode(entities, Misc.Properties.DBs.SchoolQPaper.dbo.MST_Document.Records.Receipt);

                receipth_rec = new TRN_Receipt_H_Class().Insert(entities,
                                                                RECEIPT_code,
                                                                RECEIPT_date,
                                                                RECEIPT_tran_date,
                                                                RECEIPT_amount,
                                                                RECEIPT_remarks,
                                                                RECEIPT_font,
                                                                SCHL_id,
                                                                AGENT_id);

                DS_Receipt_Obj.OutstandingInvoices.ToList().ForEach(r =>
                {
                    if (r.RECEIPTD_amount != 0)
                    {
                        new TRN_Receipt_D_Class().Insert(entities,
                                                         r.RECEIPTD_amount,
                                                         r.RECEIPTD_doc_id,
                                                         receipth_rec.RECEIPT_id,
                                                         r.DOCU_id);

                        var outstanding_receivable_rec = entities.TRN_Receivable.Where(x => x.RECEIVABLES_doc_id == r.RECEIPTD_doc_id && x.DOCU_id == r.DOCU_id).FirstOrDefault();

                        if (outstanding_receivable_rec.RECEIVABLES_balance - r.RECEIPTD_amount < 0)
                        {
                            throw new AppErrorException("Invalid Receipt Amount", "The receipt amount exceeds the outstanding balance on " + r.RECEIPTD_doc_text + ".");
                        }

                        new TRN_Receivable_Class().Update(entities,
                                                          outstanding_receivable_rec.RECEIVABLES_id,
                                                          outstanding_receivable_rec.RECEIVABLES_doc_id,
                                                          outstanding_receivable_rec.RECEIVABLES_value,
                                                          outstanding_receivable_rec.RECEIVABLES_balance - r.RECEIPTD_amount,
                                                          outstanding_receivable_rec.RECEIVABLES_ref_id,
                                                          outstanding_receivable_rec.DOCU_id);

                        new TRN_Receivable_Class().Insert(entities,
                                                          receipth_rec.RECEIPT_id,
                                                          r.RECEIPTD_amount,
                                                          0,
                                                          outstanding_receivable_rec.RECEIVABLES_id,
                                                          Misc.Properties.DBs.SchoolQPaper.dbo.MST_Document.Records.Receipt);
                    }
                });

                DS_Receipt_Obj.PayTypes.ToList().ForEach(r =>
                {
                    var receiptpaytype_rec = new TRN_Receipt_PayType_Class().Insert(entities,
                                                                                    r.RECEIPTPAYTYP_amount,
                                                                                    r.PAYTYP_id,
                                                                                    receipth_rec.RECEIPT_id);

                    if (r.PAYTYP_id == Misc.Properties.DBs.SchoolQPaper.dbo.MST_PayType.Records.MO)
                    {
                        var moneyorderinfo_rec = DS_Receipt_Obj.MoneyOrderInfo.Where(x => x.PayTypes_Id == r.Id).FirstOrDefault();
                        new TRN_Receipt_MO_Info_Class().Insert(entities,
                                                               moneyorderinfo_rec.RECEIPTMO_date,
                                                               moneyorderinfo_rec.RECEIPTMO_no,
                                                               moneyorderinfo_rec.RECEIPTMO_office,
                                                               receiptpaytype_rec.RECEIPTPAYTYP_id);
                    }
                    else if (r.PAYTYP_id == Misc.Properties.DBs.SchoolQPaper.dbo.MST_PayType.Records.Cheque)
                    {
                        var chequeinfo_rec = DS_Receipt_Obj.ChequeInfo.Where(x => x.PayTypes_Id == r.Id).FirstOrDefault();
                        new TRN_Receipt_CHQ_Info_Class().Insert(entities,
                                                                chequeinfo_rec.RECEIPTCHQ_chq_no,
                                                                chequeinfo_rec.RECEIPTCHQ_date,
                                                                receiptpaytype_rec.RECEIPTPAYTYP_id);
                    }
                });

                if (dispose)
                {
                    trans.Commit();
                }
            }
            catch (Exception ex)
            {
                if (dispose)
                {
                    trans.Rollback();
                }
                throw ex;
            }

            if (dispose)
            {
                trans.Dispose();
                entities.Dispose();
            }
            return(receipth_rec);
        }
        public TRN_PaperOrder01_H Save(SchoolQPaper_entities entities, string PPRODR01_code, DateTime PPRODR01_datetime,
                                       string PPRODR01_remarks, decimal PPRODR01_advanced_pay, string PPRODR01_cheque_no, string PPRODR01_mo_office,
                                       int PPRODR01_additional_papers, string PPRODR01_font, decimal PPRODR01_gross_tot, decimal PPRODR01_discount_amnt,
                                       decimal PPRODR01_net_tot, decimal PPRODR01_discount_percnt, string PPRODR01_telephone, string PPRODR01_train_received_by,
                                       string PPRODR01_train_received_by_nic, Tuple <int?, string> MST_TrainStation_rec, int SCHL_id, int DELIMETH_id,
                                       int PAYTYP_id,
                                       List <PaperOrderD_Rec> PaperOrderD_Recs)
        {
            bool dispose = entities == null;

            entities = entities ?? new SchoolQPaper_entities();

            TRN_PaperOrder01_H paperorder01_rec = null;

            System.Data.Entity.DbContextTransaction trans = null;
            if (dispose)
            {
                trans = entities.Database.BeginTransaction();
            }

            try
            {
                if (MST_TrainStation_rec.Item1 != null && MST_TrainStation_rec.Item1 == 0)
                {
                    var trainstation_rec = new MST_TrainStation_Class().Insert(entities, MST_TrainStation_rec.Item2, PPRODR01_font);
                    MST_TrainStation_rec = new Tuple <int?, string>(trainstation_rec.TRAINST_id, trainstation_rec.TRAINST_name);
                }

                PPRODR01_code    = new Document.Document_Class().GetDocumentCode(entities, Misc.Properties.DBs.SchoolQPaper.dbo.MST_Document.Records.Up_to_O_L_Invoice);
                paperorder01_rec = new TRN_PaperOrder01_H_Class().Insert(entities,
                                                                         PPRODR01_code,
                                                                         PPRODR01_datetime,
                                                                         PPRODR01_remarks,
                                                                         PPRODR01_advanced_pay,
                                                                         PPRODR01_cheque_no,
                                                                         PPRODR01_mo_office,
                                                                         PPRODR01_additional_papers,
                                                                         PPRODR01_font,
                                                                         PPRODR01_gross_tot,
                                                                         PPRODR01_discount_amnt,
                                                                         PPRODR01_net_tot,
                                                                         PPRODR01_discount_percnt,
                                                                         PPRODR01_telephone,
                                                                         PPRODR01_train_received_by,
                                                                         PPRODR01_train_received_by_nic,
                                                                         MST_TrainStation_rec.Item1,
                                                                         SCHL_id,
                                                                         DELIMETH_id,
                                                                         PAYTYP_id);

                PaperOrderD_Recs.ForEach(r =>
                {
                    new TRN_PaperOrder01_D_Class().Insert(entities, r.PPRODR01D_paper_qty, r.PPRODR01D_ignore_qty, r.GRADE_id, r.SUBJ_id, paperorder01_rec.PPRODR01_id);
                });

                new TRN_Receivable_Class().Insert(entities,
                                                  paperorder01_rec.PPRODR01_id,
                                                  PPRODR01_net_tot,
                                                  PPRODR01_net_tot,
                                                  null,
                                                  Misc.Properties.DBs.SchoolQPaper.dbo.MST_Document.Records.Up_to_O_L_Invoice);

                if (PPRODR01_advanced_pay != 0)
                {
                    DS_Receipt DS_Receipt_Obj = new DS_Receipt();
                    DS_Receipt_Obj.OutstandingInvoices.AddOutstandingInvoicesRow(paperorder01_rec.PPRODR01_id,
                                                                                 Misc.Properties.DBs.SchoolQPaper.dbo.MST_Document.Records.Up_to_O_L_Invoice,
                                                                                 PPRODR01_code,
                                                                                 PPRODR01_advanced_pay,
                                                                                 PPRODR01_net_tot,
                                                                                 SCHL_id,
                                                                                 "",
                                                                                 "",
                                                                                 Settings.Default.CurrentFont);

                    int PayTypes_Id = DS_Receipt_Obj.PayTypes.AddPayTypesRow(PAYTYP_id,
                                                                             "",
                                                                             PPRODR01_advanced_pay,
                                                                             "",
                                                                             "").Id;

                    if (PAYTYP_id == Misc.Properties.DBs.SchoolQPaper.dbo.MST_PayType.Records.Cheque)
                    {
                        DS_Receipt_Obj.ChequeInfo.AddChequeInfoRow(PayTypes_Id,
                                                                   PPRODR01_cheque_no,
                                                                   DateTime.Now);
                    }
                    else if (PAYTYP_id == Misc.Properties.DBs.SchoolQPaper.dbo.MST_PayType.Records.MO)
                    {
                        DS_Receipt_Obj.MoneyOrderInfo.AddMoneyOrderInfoRow(PayTypes_Id,
                                                                           DateTime.Now,
                                                                           PPRODR01_cheque_no,
                                                                           PPRODR01_mo_office);
                    }

                    new Receipt.Receipt_Class().Save(entities,
                                                     "",
                                                     PPRODR01_datetime,
                                                     PPRODR01_datetime,
                                                     PPRODR01_advanced_pay,
                                                     "",
                                                     Settings.Default.CurrentFont,
                                                     SCHL_id,
                                                     null,
                                                     DS_Receipt_Obj);
                }

                if (dispose)
                {
                    trans.Commit();
                }
            }
            catch (Exception ex)
            {
                if (dispose)
                {
                    trans.Rollback();
                }
                throw ex;
            }

            if (dispose)
            {
                trans.Dispose();
                entities.Dispose();
            }
            return(paperorder01_rec);
        }