コード例 #1
0
        public bool CreateBillQuotation(BillQuotationComplete billQuotationComplete)
        {
            var res = true;

            try
            {
                BILL_BillQuotation bill = new BILL_BillQuotation
                {
                    AmountDF          = billQuotationComplete.AmountDF,
                    BILL_Transmitter  = billQuotationComplete.BILL_Transmitter,
                    Company           = billQuotationComplete.Company,
                    DateBillQuotation = billQuotationComplete.DateBillQuotation,
                    NBill             = billQuotationComplete.NBill,
                    Vat            = billQuotationComplete.Vat,
                    Company_Id     = billQuotationComplete.Company_Id,
                    Transmitter_Id = billQuotationComplete.Transmitter_Id
                };

                //bill = billQuotationBLL.CreateBillQutotation(bill);

                var status = new BILL_BillQuotationStatus {
                    BILL_BillQuotation = bill, BillQuotation_Id = bill.BillQuotation_Id, DateAdvancement = DateTime.Now, Status_Id = billQuotationComplete.BillStatus.Status_Id
                };
                bqsBLL.CreateBillQuotationStatus(status);

                billQuotationBLL.SetNumFacture();

                if (billQuotationComplete.lines == null)
                {
                    return(res);
                }

                var listLine = new List <BILL_LineBillQuotation>();
                foreach (var line in billQuotationComplete.lines)
                {
                    var l = new BILL_LineBillQuotation
                    {
                        BILL_BillQuotation   = bill,
                        BILL_Product         = line.BILL_Product,
                        BillQuotation_Id     = bill.BillQuotation_Id,
                        DateLine             = line.DateLine,
                        LineBillQuotation_Id = line.LineBillQuotation_Id,
                        Product_Id           = line.Product_Id,
                        Quantite             = line.Quantite
                    };

                    listLine.Add(l);
                }

                lineBLL.CreateLineBillQuotation(listLine);
            }
            catch (Exception)
            {
                res = false;
            }
            return(res);
        }
コード例 #2
0
 public BILL_BillQuotation CreateBillQutotation(BILL_BillQuotation billQuotationToAdd)
 {
     using (SUPERPEntities context = new SUPERPEntities(false))
     {
         var b = context.BILL_BillQuotation.Add(billQuotationToAdd);
         context.SaveChanges();
         return(b);
     }
 }
コード例 #3
0
        public BillQuotationComplete(BILL_BillQuotation bill_billQuotation)
            : base(bill_billQuotation)
        {
            var DALbill = new FacturationDAL.LineBillQuotationDAL();

            lines = DALbill.GetLineBillQuotation(bill_billQuotation.BillQuotation_Id).Select(l => new LineCompleted(l)).ToList();

            var DALstatusChain = new FacturationDAL.StatusChainDAL();

            statusPossible = DALstatusChain.GetStatusChain(bill_billQuotation.BILL_BillQuotationStatus.OrderByDescending(s => s.DateAdvancement).First().Status_Id);
        }
コード例 #4
0
        public void SetNumFacture()
        {
            var result = new BILL_BillQuotation();

            try
            {
                using (SUPERPEntities context = new SUPERPEntities(false))
                {
                    var results = context.BILL_BillQuotation.OrderByDescending(b => b.BillQuotation_Id);
                    if (results != null)
                    {
                        result = results.First();
                        if (result != null && result.NBill.Equals("1"))
                        {
                            var numStr = "000000001";

                            var num           = Convert.ToInt32(numStr);
                            var billQuotation = context.BILL_BillQuotation.OrderByDescending(b => b.NBill).Where(b => !b.NBill.Equals("1"));
                            if (billQuotation != null && billQuotation.Count() > 0)
                            {
                                var nbill = billQuotation.First().NBill;
                                if (nbill != null)
                                {
                                    var intNum = Convert.ToInt32(nbill) + 1;
                                    numStr = intNum.ToString();
                                }
                            }

                            while (numStr.Length < 9)
                            {
                                numStr = "0" + numStr;
                            }

                            //Set NbBill
                            result.NBill = numStr;
                        }
                        else if (result != null && result.NBill.Equals("0"))
                        {
                            result.NBill = null;
                        }
                    }

                    context.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #5
0
 public BILL_BillQuotation EditBillQuotation(BILL_BillQuotation billQuotationToEdit)
 {
     using (SUPERPEntities context = new SUPERPEntities(false))
     {
         var b = context.BILL_BillQuotation.Find(billQuotationToEdit.BillQuotation_Id);
         if (b != null)
         {
             b.AmountDF       = billQuotationToEdit.AmountDF;
             b.Company_Id     = billQuotationToEdit.Company_Id;
             b.Transmitter_Id = billQuotationToEdit.Transmitter_Id;
             b.Vat            = billQuotationToEdit.Vat;
             context.SaveChanges();
         }
         return(b);
     }
 }
コード例 #6
0
        public BILL_BillQuotation GetBillByNum(string numBill)
        {
            var result = new BILL_BillQuotation();

            try
            {
                using (SUPERPEntities context = new SUPERPEntities(false))
                {
                    result = context.BILL_BillQuotation.Include("Company").Include("BILL_Transmitter").Include("BILL_LineBillQuotation")
                             .Include("BILL_LineBillQuotation.BILL_Product").Include("BILL_LineBillQuotation.BILL_Product.BILL_Vat")
                             .Include("BILL_LineBillQuotation.BILL_Product.BILL_Category").SingleOrDefault(b => b.NBill == numBill);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(result);
        }
コード例 #7
0
        public BILL_BillQuotation GetBillQuotationsById(long id)
        {
            var result = new BILL_BillQuotation();

            try
            {
                using (SUPERPEntities context = new SUPERPEntities(false))
                {
                    result = context.BILL_BillQuotation.Include("Company").Include("BILL_Transmitter").Include("BILL_LineBillQuotation")
                             .Include("BILL_BillQuotationStatus").Include("BILL_BillQuotationStatus.BILL_Status")
                             .Include("BILL_LineBillQuotation.BILL_Product").Include("BILL_LineBillQuotation.BILL_Product.BILL_Vat")
                             .Include("BILL_LineBillQuotation.BILL_Product.BILL_Category")
                             .SingleOrDefault(b => b.BillQuotation_Id == id);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(result);
        }
コード例 #8
0
        public BillQuotationLight(BILL_BillQuotation bill_billQuotation)
        {
            base.AmountDF = bill_billQuotation.AmountDF;
            base.BILL_BillQuotationStatus = bill_billQuotation.BILL_BillQuotationStatus;
            base.BILL_LineBillQuotation   = bill_billQuotation.BILL_LineBillQuotation;
            base.BILL_Transmitter         = bill_billQuotation.BILL_Transmitter;
            base.BillQuotation_Id         = bill_billQuotation.BillQuotation_Id;
            base.Company           = bill_billQuotation.Company;
            base.Company_Id        = bill_billQuotation.Company_Id;
            base.DateBillQuotation = bill_billQuotation.DateBillQuotation;
            base.NBill             = bill_billQuotation.NBill;
            base.Transmitter_Id    = bill_billQuotation.Transmitter_Id;
            base.Vat = bill_billQuotation.Vat;

            var billStatus = bill_billQuotation.BILL_BillQuotationStatus.OrderByDescending(s => s.DateAdvancement);

            if (billStatus != null && billStatus.Count() > 0)
            {
                BillStatus = billStatus.First().BILL_Status;
            }

            CalculateTTC();
        }
コード例 #9
0
        /******************************/
        /*    MODIFICATION FACTURE    */
        /******************************/

        public bool ModifyBillQuotation(BillQuotationComplete billQuotationComplete)
        {
            var res = true;

            try
            {
                /*** Modification de la facture/devis ***/
                BILL_BillQuotation bill = new BILL_BillQuotation
                {
                    BillQuotation_Id  = billQuotationComplete.BillQuotation_Id,
                    AmountDF          = billQuotationComplete.AmountDF,
                    BILL_Transmitter  = billQuotationComplete.BILL_Transmitter,
                    Company           = billQuotationComplete.Company,
                    DateBillQuotation = billQuotationComplete.DateBillQuotation,
                    NBill             = billQuotationComplete.NBill,
                    Vat            = billQuotationComplete.Vat,
                    Company_Id     = billQuotationComplete.Company_Id,
                    Transmitter_Id = billQuotationComplete.Transmitter_Id
                };

                var billEdit = billQuotationBLL.EditBillQuotation(bill);

                /*** Modification du status ***/
                var status = new BILL_BillQuotationStatus {
                    BillQuotation_Id = bill.BillQuotation_Id, DateAdvancement = DateTime.Now, Status_Id = billQuotationComplete.BillStatus.Status_Id
                };
                //bqsBLL.CreateBillQuotationStatus(status);

                /*** Modification des lignes de facture ***/
                var lineBDD   = lineBLL.GetLineBillQuotation(billQuotationComplete.BillQuotation_Id);
                var lineModif = billQuotationComplete.BILL_LineBillQuotation;

                var listLineAModifie = new List <BILL_LineBillQuotation>();
                var listLineAAjoute  = new List <BILL_LineBillQuotation>();
                /* TODO: METTRE A JOUR LES LIGNES FACTURES */
                foreach (var line in lineModif)
                {
                    if (line != null)
                    {
                        var l = new BILL_LineBillQuotation
                        {
                            BillQuotation_Id     = bill.BillQuotation_Id,
                            DateLine             = line.DateLine,
                            LineBillQuotation_Id = line.LineBillQuotation_Id,
                            Product_Id           = line.Product_Id,
                            Quantite             = line.Quantite
                        };

                        var lineExist = lineBDD.SingleOrDefault(x => x.LineBillQuotation_Id == line.LineBillQuotation_Id);
                        if (lineExist != null && lineExist.LineBillQuotation_Id != 0)
                        {
                            listLineAModifie.Add(l);
                            lineBDD.Remove(l);
                        }
                        else
                        {
                            listLineAAjoute.Add(l);
                            lineBDD.Remove(l);
                        }
                    }
                }

                lineBLL.CreateLineBillQuotation(listLineAAjoute);
                lineBLL.EditLineBillQuotation(listLineAModifie);
                lineBLL.DeleteLineBillQuotation(lineBDD);
            }
            catch (Exception)
            {
                res = false;
            }
            return(res);
        }
コード例 #10
0
 public BILL_BillQuotation EditBillQuotation(BILL_BillQuotation billQuotationToEdit)
 {
     return(billQuotationDAL.EditBillQuotation(billQuotationToEdit));
 }
コード例 #11
0
 public BILL_BillQuotation CreateBillQutotation(BILL_BillQuotation billQuotationToAdd)
 {
     billQuotationToAdd.NBill = BillQuotationDAL.getMaxNum();
     return(billQuotationDAL.CreateBillQutotation(billQuotationToAdd));
 }