コード例 #1
0
ファイル: FUELSTATION.cs プロジェクト: kyurrii/CORPORATION
        public int NomberProcessTankOrd()
        {
            var cdc = new CorporationDataContext();
            int nomberProcessTankOrd = cdc.TankFuelOrders.Count(s => s.Status == "inprocess");

            return(nomberProcessTankOrd);
        }
コード例 #2
0
        public int OpenTransOrdersQty()
        {
            var cdc = new CorporationDataContext();
            int openTransOrdersQty = cdc.TransOrders.Where(s => s.Status == "open").Count();

            return(openTransOrdersQty);
        }
コード例 #3
0
ファイル: PLANT.cs プロジェクト: kyurrii/CORPORATION
        public async void Produce(int ordId)
        {
            var    cdc  = new CorporationDataContext();
            Random rand = new Random();

            int tpro = rand.Next(30000);

            Thread.Sleep(tpro);
            try
            {
                var orderInProcess = cdc.ProductOrders.Where(s => s.MProdOrderID == ordId).First();


                orderInProcess.Status = "onstock";
                cdc.SubmitChanges();

                Thread.Sleep(rand.Next(8000));

                await Task.Run(() => ShipProdOrd(ordId));


                //  orderInProcess.Status = "shiped";
                //cdc.SubmitChanges();
            }
            catch (Exception ex)
            {
                // MessageBox.Show("Exception: " + ex.Message);
            }
        }
コード例 #4
0
ファイル: FUELSTATION.cs プロジェクト: kyurrii/CORPORATION
        public int NomberWaitTankOrd()
        {
            var cdc = new CorporationDataContext();
            int nomberWaitTankOrd = cdc.TankFuelOrders.Count(s => s.Status == "waiting");

            return(nomberWaitTankOrd);
        }
コード例 #5
0
ファイル: PLANT.cs プロジェクト: kyurrii/CORPORATION
        public int OnstockOrdQty()
        {
            var cdc     = new CorporationDataContext();
            int onStock = cdc.ProductOrders.Count(s => s.Status == "onstock");

            return(onStock);
        }
コード例 #6
0
ファイル: FUELSTATION.cs プロジェクト: kyurrii/CORPORATION
        public decimal MomentalTankFuelAmount()
        {
            var     cdc = new CorporationDataContext();
            decimal momentalTankFuelAmount = Convert.ToDecimal(cdc.TankFuelOrders.Where(s => s.Status == "inprocess").Sum(s => s.TankFuelOrderAmount));

            return(momentalTankFuelAmount);
        }
コード例 #7
0
ファイル: PLANT.cs プロジェクト: kyurrii/CORPORATION
        public int InProdOrdQty()
        {
            var cdc          = new CorporationDataContext();
            int inprodOrdNum = cdc.ProductOrders.Count(s => s.Status == "inproduction");

            return(inprodOrdNum);
        }
コード例 #8
0
ファイル: PLANT.cs プロジェクト: kyurrii/CORPORATION
        public int OpenProdOrderQty()
        {
            var cdc        = new CorporationDataContext();
            int openOrdNum = cdc.ProductOrders.Count(s => s.Status == "open");

            return(openOrdNum);
        }
コード例 #9
0
ファイル: FUELSTATION.cs プロジェクト: kyurrii/CORPORATION
        public int TankfuelordersCancelledQty()
        {
            var cdc = new CorporationDataContext();
            int nomberProcessTankOrd = cdc.TankFuelOrders.Count(s => s.Status == "canceled");

            return(nomberProcessTankOrd);
        }
コード例 #10
0
        public int FreeTrucksCount()
        {
            var cdc = new CorporationDataContext();
            int freeTrucksnomber = cdc.Trucks.Where(s => s.Status == "free").Count();

            return(freeTrucksnomber);
        }
コード例 #11
0
        public int OnServiceTruckQty()
        {
            var cdc = new CorporationDataContext();
            int onServiceTruckQty = cdc.Trucks.Where(s => s.Status == "onTechService").Count();

            return(onServiceTruckQty);
        }
コード例 #12
0
 public int TrucksCount()
 {
     using (CorporationDataContext cdc = new CorporationDataContext())
     {
         int nomberTrucks = cdc.Trucks.Count();
         return(nomberTrucks);
     }
 }
コード例 #13
0
        public async void CheckTrucks(object source, ElapsedEventArgs e)
        {
            var cdc = new CorporationDataContext();

            int itemsCount = cdc.Trucks.Count();

            if (itemsCount < plantruckqty)
            {
                await Task.Run(() => PurchaseTruck());
            }
        }
コード例 #14
0
        public async void NextTransOrder(object source, ElapsedEventArgs e)
        {
            using (CorporationDataContext cdc = new CorporationDataContext())
            {
                int inprocTransOrdNomber = cdc.TransOrders.Where(s => s.Status == "inprocess").Count();



                var oldestOpenTransOrd = cdc.TransOrders.Where(s => s.Status == "open").OrderBy(s => s.Date).FirstOrDefault();
                var nextFreeTruck      = cdc.Trucks.Where(s => s.Status == "free").OrderBy(s => s.TruckID).FirstOrDefault();
                var openTripTruckCheck = cdc.TruckTrips.Where(t => t.TruckID == nextFreeTruck.TruckID && t.Status == "open");

                if (oldestOpenTransOrd != null && nextFreeTruck != null && inprocTransOrdNomber < plantruckqty)   //&& openTripTruckCheck==null
                {
                    int trOrdID = oldestOpenTransOrd.TransOrderID;
                    int truckID = nextFreeTruck.TruckID;

                    try
                    {
                        await Task.Run(() => StartNewTrip(trOrdID, truckID));

                        //  Thread.Sleep(1500);
                        //  await Task.Run(() => Deliver(trOrdID, truckID));
                    }
                    catch (Exception ex)
                    {
                        //  MessageBox.Show("Exception: " + ex.Message);
                    }
                }

                var oldestInprocessTransOrd = cdc.TransOrders.Where(s => s.Status == "inprocess").OrderBy(s => s.Date).FirstOrDefault();

                if (oldestInprocessTransOrd != null)
                {
                    try
                    {
                        int ordid         = oldestInprocessTransOrd.TransOrderID;
                        int onTripTruckID = (int)cdc.TruckTrips.Where(s => s.TransOrderID == ordid).Select(m => m.TruckID).FirstOrDefault();
                        var onTripTruck   = cdc.Trucks.Where(s => s.TruckID == onTripTruckID).FirstOrDefault();  //&& s.Status == "onTrip"

                        if (onTripTruck != null)
                        {
                            await Task.Run(() => Deliver(ordid, onTripTruck.TruckID));
                        }
                    }
                    catch (Exception ex)
                    {
                        //  MessageBox.Show("Exception: " + ex.Message);
                    }
                }
            }
        }
コード例 #15
0
        private void PurchaseTruck()
        {
            int lastItemID;
            int nextItemID;
            int itemsCount = 0;

            var cdc = new CorporationDataContext();

            itemsCount = cdc.Trucks.Count();

            if (itemsCount == 0)
            {
                nextItemID = 990001;
            }
            else
            {
                lastItemID = cdc.Trucks.OrderByDescending(s => s.TruckID).Select(s => s.TruckID).First();
                nextItemID = lastItemID + 1;
            }


            try
            {
                cdc.Trucks.InsertOnSubmit(

                    new Truck
                {
                    TruckID = nextItemID,
                    Status  = "free"
                }
                    );



                cdc.SubmitChanges(ConflictMode.ContinueOnConflict);
            }
            catch (ChangeConflictException e)
            {
                foreach (ObjectChangeConflict occ in cdc.ChangeConflicts)
                {
                    occ.Resolve(RefreshMode.KeepChanges);
                }
            }
            try
            {
                cdc.SubmitChanges(ConflictMode.FailOnFirstConflict);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Exception: " + ex.Message);
            }
        }
コード例 #16
0
ファイル: BANK.cs プロジェクト: kyurrii/CORPORATION
        public void createTransaction(int?pinvID, int?payID, int?transID, int?fuelinvID)
        {
            using (var cdc = new CorporationDataContext())
            {
                mutex.WaitOne();

                int lastItemID = 0;
                int nextItemID = 0;
                int itemsCount = 0;

                itemsCount = cdc.BankTransactions.Count();

                if (itemsCount == 0)
                {
                    nextItemID = 440001;
                }
                else
                {
                    lastItemID = cdc.BankTransactions.OrderByDescending(s => s.TransactionID).Select(s => s.TransactionID).First();
                    nextItemID = lastItemID + 1;
                }

                try
                {
                    cdc.BankTransactions.InsertOnSubmit(

                        new BankTransaction
                    {
                        TransactionID     = nextItemID,
                        PlantInvoiceID    = pinvID,
                        PaymentID         = payID,
                        TransInvoiceID    = transID,
                        TankFuelInvoiceID = fuelinvID,
                        Status            = "pending",
                        Confirmed         = "no",
                        Date           = DateTime.Now,
                        FuelPaymentID  = null,
                        TransPaymentID = null
                    }
                        );
                    cdc.SubmitChanges();

                    mutex.ReleaseMutex();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Exception: " + ex.Message);
                }
            }
        }
コード例 #17
0
ファイル: MARKET.cs プロジェクト: kyurrii/CORPORATION
        public void PlaceProdOrder(object source, ElapsedEventArgs e)
        {
            int lastItemID;
            int nextItemID;
            int itemsCount = 0;

            var cdc = new CorporationDataContext();


            itemsCount = cdc.ProductOrders.Count();

            if (itemsCount == 0)
            {
                nextItemID = 110001;
            }
            else
            {
                lastItemID = cdc.ProductOrders.OrderByDescending(s => s.MProdOrderID).Select(s => s.MProdOrderID).First();
                nextItemID = lastItemID + 1;
            }


            Random random     = new Random();
            int    orderValue = random.Next(50000);

            List <int> payTerms = new List <int>()
            {
                0, 30, 60, 90
            };
            int payIndex = random.Next(4);

            try
            {
                cdc.ProductOrders.InsertOnSubmit(

                    new ProductOrder
                {
                    MProdOrderID   = nextItemID,
                    ProdOrderValue = orderValue,
                    Status         = "open",
                    OrderDate      = DateTime.Now,
                    PaymentTerm    = payTerms[payIndex],
                    InvoiceIssued  = "no"
                }
                    );
                cdc.SubmitChanges();
            }
            catch { }
        }
コード例 #18
0
ファイル: FUELSTATION.cs プロジェクト: kyurrii/CORPORATION
        public void FuelPurchase()
        {
            decimal fr = FuelReserve();
            decimal amountToPurchase = (FuelReserveUpperLimit - fr);

            var  cdc  = new CorporationDataContext();
            BANK bank = new BANK();

            if (bank.balance >= amountToPurchase * fuelPrice)
            {
                int lastItemID = 0;
                int nextItemID = 0;
                int itemsCount = 0;

                itemsCount = cdc.TankFuelPayments.Count();

                if (itemsCount == 0)
                {
                    nextItemID = 660001;
                }
                else
                {
                    lastItemID = cdc.TankFuelPayments.OrderByDescending(s => s.FuelPaymentID).Select(s => s.FuelPaymentID).First();
                    nextItemID = lastItemID + 1;
                }

                try
                {
                    cdc.TankFuelPayments.InsertOnSubmit(

                        new TankFuelPayment
                    {
                        FuelPaymentID     = nextItemID,
                        FuelPaymentAmount = Convert.ToInt32(amountToPurchase),
                        FuelPaymentValue  = amountToPurchase * fuelPrice,

                        Status = "requested",
                        Date   = DateTime.Now
                    }
                        );
                    cdc.SubmitChanges();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Exception: " + ex.Message);
                }
            }
        }
コード例 #19
0
ファイル: BANK.cs プロジェクト: kyurrii/CORPORATION
        public async void checkInvoices(object source, ElapsedEventArgs e)
        {
            using (var cdc = new CorporationDataContext()) {
                try
                {
                    var PlantInvoicesList = cdc.PlantInvoices.Join(cdc.ProductOrders,
                                                                   inv => inv.MProdOrderID,
                                                                   ord => ord.MProdOrderID,
                                                                   (inv, ord) => new
                    {
                        PlantInvID    = inv.PlantInviceID,
                        InvoiceValue  = ord.ProdOrderValue,
                        InvoiceStatus = inv.Status,
                        Date          = ord.OrderDate,
                        PaymentTerm   = ord.PaymentTerm
                    }).ToList();

                    var oldestPendInvoice = PlantInvoicesList.Where(s => s.InvoiceStatus == "issued").OrderBy(s => s.Date).FirstOrDefault();


                    decimal PlantInvoicedTotalAmount = Convert.ToDecimal(PlantInvoicesList.Sum(s => s.InvoiceValue));

                    if (oldestPendInvoice != null)
                    {
                        int invID        = oldestPendInvoice.PlantInvID;
                        var invToProcess = cdc.PlantInvoices.Where(s => s.PlantInviceID == invID);

                        int invPayTerm = (int)oldestPendInvoice.PaymentTerm;

                        Thread.Sleep(invPayTerm * 100);

                        await Task.Run(() => createTransaction(invID, null, null, null));



                        foreach (PlantInvoice inv in invToProcess)
                        {
                            inv.Status = "paid";
                        }
                        cdc.SubmitChanges();
                    }
                }
                catch (Exception ex)
                {
                    // MessageBox.Show("Exception: " + ex.Message);
                }
            };
        }
コード例 #20
0
ファイル: PLANT.cs プロジェクト: kyurrii/CORPORATION
        private void ShipProdOrd(int ordId)
        {
            var cdc = new CorporationDataContext();

            try
            {
                var orderInProcess = cdc.ProductOrders.Where(s => s.MProdOrderID == ordId).First();

                orderInProcess.Status = "shiped";
                cdc.SubmitChanges();
            }
            catch (Exception ex)
            {
                // MessageBox.Show("Exception: " + ex.Message);
            }
        }
コード例 #21
0
ファイル: MARKET.cs プロジェクト: kyurrii/CORPORATION
        public void PlaceTankFuelOrder(object source, ElapsedEventArgs e)
        {
            int lastItemID = 0;
            int nextItemID = 0;
            int itemsCount = 0;

            var cdc = new CorporationDataContext();


            itemsCount = cdc.TankFuelOrders.Count();

            if (itemsCount == 0)
            {
                nextItemID = 550001;
            }
            else
            {
                lastItemID = cdc.TankFuelOrders.OrderByDescending(s => s.TankFuelOrderID).Select(s => s.TankFuelOrderID).First();
                nextItemID = lastItemID + 1;
            }


            Random random      = new Random();
            int    orderAmount = random.Next(200);

            decimal fuelPrice  = 29;
            decimal orderValue = orderAmount * fuelPrice;



            try
            {
                cdc.TankFuelOrders.InsertOnSubmit(

                    new TankFuelOrder
                {
                    TankFuelOrderID     = nextItemID,
                    TankFuelOrderValue  = orderValue,
                    TankFuelOrderAmount = orderAmount,
                    Status = "waiting",
                    Date   = DateTime.Now,
                }
                    );
                cdc.SubmitChanges();
            }
            catch { }
        }
コード例 #22
0
ファイル: BANK.cs プロジェクト: kyurrii/CORPORATION
        public async void checkPayments(object source, ElapsedEventArgs e)
        {
            using (var cdc = new CorporationDataContext())
            {
                try
                {
                    var PaymentsList = cdc.Payments.Join(cdc.ProductOrders,
                                                         pay => pay.MProdOrderID,
                                                         ord => ord.MProdOrderID,
                                                         (pay, ord) => new
                    {
                        CorpPaymID    = pay.PaymentID,
                        PaymentAmount = (ord.ProdOrderValue) * 7 / 10,
                        PaymentStatus = pay.Status,
                        Date          = ord.OrderDate
                    });

                    var oldestPendPayment = PaymentsList.Where(s => s.PaymentStatus == "requested").OrderBy(s => s.Date).FirstOrDefault();

                    if (oldestPendPayment != null)
                    {
                        int payID        = oldestPendPayment.CorpPaymID;
                        var payToProcess = cdc.Payments.Where(s => s.PaymentID == payID);

                        decimal payamt = Convert.ToDecimal(oldestPendPayment.PaymentAmount);

                        decimal currBalance = balance;

                        if (currBalance - payamt >= 0)
                        {
                            await Task.Run(() => createTransaction(null, payID, null, null));

                            foreach (Payment pay in payToProcess)
                            {
                                pay.Status = "paid";
                            }
                            cdc.SubmitChanges();
                        }
                    }
                }
                catch (Exception ex)
                {
                    // MessageBox.Show("Exception: " + ex.Message);
                }
            }
        }
コード例 #23
0
ファイル: PLANT.cs プロジェクト: kyurrii/CORPORATION
        public async void CheckOrdersList(object source, ElapsedEventArgs e)
        {
            var cdc = new CorporationDataContext();
            var nomberInvNotIssProdOrd   = cdc.ProductOrders.Count(s => s.Status == "shiped" && s.InvoiceIssued == "no");
            var invNotIssProdOrd         = cdc.ProductOrders.Where(s => s.Status == "shiped" && s.InvoiceIssued == "no").OrderBy(s => s.OrderDate).FirstOrDefault();
            var oldestInProdOrd          = cdc.ProductOrders.Where(s => s.Status == "inproduction").OrderBy(s => s.OrderDate).FirstOrDefault();
            var nomberOrdersInProduction = cdc.ProductOrders.Count(s => s.Status == "inproduction");
            var notShipedProdOrd         = cdc.ProductOrders.Where(s => s.Status == "onStock").OrderBy(s => s.OrderDate).FirstOrDefault();


            if (notShipedProdOrd != null)
            {
                int ntordID = notShipedProdOrd.MProdOrderID;

                await Task.Run(() => ShipProdOrd(ntordID));
            }

            if (invNotIssProdOrd != null)
            {
                await Task.Run(() => IssuePlantInvoice(invNotIssProdOrd.MProdOrderID));

                await Task.Run(() => IssuePayment(invNotIssProdOrd.MProdOrderID));

                try
                {
                    invNotIssProdOrd.InvoiceIssued = "yes";
                    cdc.SubmitChanges();
                }
                catch (Exception ex)
                {
                    //  MessageBox.Show("Exception: " + ex.Message);
                }
            }


            if (nomberOrdersInProduction < prodLinesnomber)
            {
                NextOpenOrderToProduction();
            }

            if (oldestInProdOrd != null)
            {
                await Task.Run(() => Produce(oldestInProdOrd.MProdOrderID));
            }
        }
コード例 #24
0
ファイル: MARKET.cs プロジェクト: kyurrii/CORPORATION
        public void PlaceTransOrder(object source, ElapsedEventArgs e)
        {
            int lastItemID = 0;
            int nextItemID = 0;
            int itemsCount = 0;

            var cdc = new CorporationDataContext();


            itemsCount = cdc.TransOrders.Count();

            if (itemsCount == 0)
            {
                nextItemID = 880001;
            }
            else
            {
                lastItemID = cdc.TransOrders.OrderByDescending(s => s.TransOrderID).Select(s => s.TransOrderID).First();
                nextItemID = lastItemID + 1;
            }


            Random random     = new Random();
            int    orderValue = random.Next(30000);
            int    distance   = random.Next(10000);


            try
            {
                cdc.TransOrders.InsertOnSubmit(

                    new TransOrder
                {
                    TransOrderID = nextItemID,
                    OrderValue   = orderValue,
                    Status       = "open",
                    Date         = DateTime.Now,
                    Distance     = distance,
                    Attribute    = null
                }
                    );
                cdc.SubmitChanges();
            }
            catch { }
        }
コード例 #25
0
ファイル: FUELSTATION.cs プロジェクト: kyurrii/CORPORATION
        private static void NextVehicleToTank(int ordID)
        {
            var cdc = new CorporationDataContext();

            try {
                var waitingTankOrd = cdc.TankFuelOrders.Where(s => s.TankFuelOrderID == ordID);

                foreach (TankFuelOrder fuelOrder in waitingTankOrd)
                {
                    fuelOrder.Status = "inprocess";
                    cdc.SubmitChanges();
                }
            }
            catch (Exception ex)
            {
                //  MessageBox.Show("Exception: " + ex.Message);
            }
        }
コード例 #26
0
ファイル: PLANT.cs プロジェクト: kyurrii/CORPORATION
        public void IssuePayment(int ordId)
        {
            var  cdc  = new CorporationDataContext();
            BANK bank = new BANK();

            decimal balance = bank.balance;


            int lastItemID;
            int nextItemID;
            int itemsCount = 0;

            itemsCount = cdc.Payments.Count();

            if (itemsCount == 0)
            {
                nextItemID = 220001;
            }
            else
            {
                lastItemID = cdc.Payments.OrderByDescending(s => s.PaymentID).Select(s => s.PaymentID).First();
                nextItemID = lastItemID + 1;
            }

            try
            {
                cdc.Payments.InsertOnSubmit(

                    new Payment
                {
                    PaymentID       = nextItemID,
                    MProdOrderID    = ordId,
                    Status          = "requested",
                    TankFuelOrderID = null
                }
                    );
                cdc.SubmitChanges();
            }
            catch (Exception ex)
            {
                // MessageBox.Show("Exception: " + ex.Message);
            }
        }
コード例 #27
0
ファイル: FUELSTATION.cs プロジェクト: kyurrii/CORPORATION
        public decimal FuelReserve()
        {
            decimal fuelreserve              = 0;
            decimal FuelSoldAmount           = 0;
            decimal TotalFuelPurchasedAmount = 0;

            var cdc = new CorporationDataContext();
            var TankFuelInvoicesList = cdc.TankFuelInvoices.Join(cdc.TankFuelOrders,
                                                                 inv => inv.TankFuelOrderID,
                                                                 ord => ord.TankFuelOrderID,
                                                                 (inv, ord) => new
            {
                TankFuelInvID   = inv.TankFuelInvoiceID,
                InvoiceValue    = ord.TankFuelOrderValue,
                InvoiceAmount   = ord.TankFuelOrderAmount,
                InvoiceStatus   = inv.Status,
                TankFuelInvDate = inv.Date
            }).ToList();

            decimal soldFuel = Convert.ToDecimal(cdc.TankFuelOrders.Where(s => s.Status == "tanked").Sum(s => s.TankFuelOrderAmount));

            var FuelPurchasesPaymentList = cdc.TankFuelPayments;


            int fuelpurchasesCount = cdc.TankFuelPayments.Count();

            if (fuelpurchasesCount == 0)
            {
                TotalFuelPurchasedAmount = 0;
            }
            else
            {
                TotalFuelPurchasedAmount = Convert.ToDecimal(FuelPurchasesPaymentList.Sum(s => s.FuelPaymentAmount));
            }



            FuelSoldAmount = soldFuel;

            fuelreserve = TotalFuelPurchasedAmount - FuelSoldAmount;

            return(fuelreserve);
        }
コード例 #28
0
        public int InProcessTransOrdersQty()
        {
            var cdc = new CorporationDataContext();
            int inProcessTransOrdersQty = 0;

            /*
             *  if (cdc.Trucks.Count()== plantruckqty)
             *  {
             *
             *
             *       inProcessTransOrdersQty = plantruckqty - FreeTrucksCount();
             *  }
             *  else
             *  {
             *      inProcessTransOrdersQty = 0;
             *  }                     */

            inProcessTransOrdersQty = cdc.TransOrders.Where(s => s.Status == "inprocess").Count();
            return(inProcessTransOrdersQty);
        }
コード例 #29
0
ファイル: PLANT.cs プロジェクト: kyurrii/CORPORATION
        public async void NextOpenOrderToProduction()
        {
            var cdc = new CorporationDataContext();

            var oldestOpenOrd = cdc.ProductOrders.Where(s => s.Status == "open").OrderBy(s => s.OrderDate).FirstOrDefault();

            if (oldestOpenOrd != null)
            {
                try
                {
                    oldestOpenOrd.Status = "inproduction";

                    cdc.SubmitChanges();

                    await Task.Run(() => Produce(oldestOpenOrd.MProdOrderID));
                }
                catch (Exception ex)
                {
                    //  MessageBox.Show("Exception: " + ex.Message);
                }
            }
        }
コード例 #30
0
ファイル: FUELSTATION.cs プロジェクト: kyurrii/CORPORATION
        private static void TankVehicle(int tankOrdId)
        {
            var cdc = new CorporationDataContext();

            var waitingTankOrd = cdc.TankFuelOrders.Where(s => s.TankFuelOrderID == tankOrdId);


            foreach (TankFuelOrder ord in waitingTankOrd)
            {
                int tankTime = (ord.TankFuelOrderAmount).GetValueOrDefault() * 100;
                Thread.Sleep(tankTime);

                ord.Status = "tanked";
                try
                {
                    cdc.SubmitChanges();
                }
                catch
                {
                }
            }
        }