Exemple #1
0
 private void UpdatedUI(transport transport)
 {
     _transportID.Text                      = transport.ID == 0 ? "" : transport.ID.ToString();
     _transportDate.Text                    = transport.transport_date.ToString();
     _transportCompany.SelectedValue        = transport.transport_company_id;
     _transportShipperCompany.SelectedValue = transport.shipper_company_id;
 }
Exemple #2
0
        public List <ModelPlans> Get(int id)
        {
            plans plan = null;

            plan = db.plans.Find(id);
            List <ModelPlans> lista = new List <ModelPlans>();

            if (plan != null)
            {
                ModelPlans temp = new ModelPlans(plan);
                transport  t    = null;
                t = db.transport.Find(plan.transport_id);
                if (t != null)
                {
                    locations l = null;
                    l = db.locations.Find(t.end_id);
                    if (l != null)
                    {
                        temp.destination = l.loc_name;
                    }
                }
                hotels h = null;
                h = db.hotels.Find(plan.hotel_id);
                if (h != null)
                {
                    temp.hotel_name = h.hotel_name;
                }
                lista.Add(temp);
            }

            return(lista);
        }
Exemple #3
0
        public List <ModelPlans> Get()
        {
            List <ModelPlans> lista  = new List <ModelPlans>();
            List <plans>      dbList = db.plans.ToList();

            foreach (plans loc in dbList)
            {
                ModelPlans temp = new ModelPlans(loc);
                transport  t    = null;
                t = db.transport.Find(loc.transport_id);
                if (t != null)
                {
                    locations l = null;
                    l = db.locations.Find(t.end_id);
                    if (l != null)
                    {
                        temp.destination = l.loc_name;
                    }
                }
                hotels h = null;
                h = db.hotels.Find(loc.hotel_id);
                if (h != null)
                {
                    temp.hotel_name = h.hotel_name;
                }
                lista.Add(temp);
            }

            return(lista);
        }
 public TransportViewModel(transport newTransport)
 {
     ID                   = newTransport.ID;
     TransportDate        = newTransport.transport_date.GetValueOrDefault();
     shipper_company_id   = newTransport.shipper_company_id.GetValueOrDefault();
     transport_company_id = newTransport.transport_company_id.GetValueOrDefault();
 }
 public static void insert(transport t)
 {
     using (var data = new instDataContext())
     {
         data.transports.InsertOnSubmit(t);
         data.SubmitChanges();
     }
 }
Exemple #6
0
 public static void insert(transport t)
 {
     using (var data = new instDataContext())
     {
         data.transports.InsertOnSubmit(t);
         data.SubmitChanges();
     }
 }
 public static void delete(transport t)
 {
     using (var data = new instDataContext())
     {
         var obj = data.transports.Single(j => j.busno==t.busno);
         data.transports.DeleteOnSubmit(obj);
         data.SubmitChanges();
     }
 }
Exemple #8
0
 public static void delete(transport t)
 {
     using (var data = new instDataContext())
     {
         var obj = data.transports.Single(j => j.busno == t.busno);
         data.transports.DeleteOnSubmit(obj);
         data.SubmitChanges();
     }
 }
 public static void update(transport t)
 {
     using (var data = new instDataContext())
     {
         var obj = data.transports.Single(j => j.busno == t.busno);
         obj._city = t._city;
         obj._route = t._route;
         obj._startpt = t._startpt;
         data.SubmitChanges();
     }
 }
Exemple #10
0
 public static void update(transport t)
 {
     using (var data = new instDataContext())
     {
         var obj = data.transports.Single(j => j.busno == t.busno);
         obj._city    = t._city;
         obj._route   = t._route;
         obj._startpt = t._startpt;
         data.SubmitChanges();
     }
 }
Exemple #11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="settings"></param>
        public usbModem(transport instTransport)
        {
            modemSettings settings = modemSettings.parse(instTransport);

            this.name     = instTransport.transportName;
            this.id       = instTransport.idTransport;
            this.settings = settings;
            this.modemOperationTimeOut = (30 * 1000); //* Timeout in milliseconds
            this.modemResponseTimeout  = 30;          //* Seconds
            this.initialise();
            //this.instPort.ErrorReceived += new SerialErrorReceivedEventHandler(instPort_ErrorReceived);
        }
Exemple #12
0
        public async Task <List <ModelPlans> > Post()
        {
            string result = await Request.Content.ReadAsStringAsync();

            List <ModelPlans> newList = new List <ModelPlans>();

            dynamic jobj = JsonConvert.DeserializeObject(result);

            plans newPlan = new plans();

            newPlan.plan_naziv   = jobj.plan_name;
            newPlan.transport_id = jobj.transport_id;
            newPlan.hotel_id     = jobj.hotel_id;

            db.plans.Add(newPlan);

            int   userId = jobj.user_id;
            users user   = null;

            user = db.users.Find(userId);
            if (user != null)
            {
                user.plans.Add(newPlan);
            }

            db.SaveChanges();

            ModelPlans temp = new ModelPlans(newPlan);
            transport  t    = null;

            t = db.transport.Find(newPlan.transport_id);
            if (t != null)
            {
                locations l = null;
                l = db.locations.Find(t.end_id);
                if (l != null)
                {
                    temp.destination = l.loc_name;
                }
            }
            hotels h = null;

            h = db.hotels.Find(newPlan.hotel_id);
            if (h != null)
            {
                temp.hotel_name = h.hotel_name;
            }
            newList.Add(temp);

            //StatisticsPrijevozi(newPlan.hotel_id.Value, db.transport.Find(newPlan.transport).start_id.Value);

            return(newList);
        }
Exemple #13
0
        public List <ModelTransport> Get(int id)
        {
            List <ModelTransport> lista = new List <ModelTransport>();
            transport             trans = null;

            trans = db.transport.Find(id);

            if (trans != null)
            {
                ModelTransport temp = new ModelTransport(trans);
                lista.Add(temp);
            }

            return(lista);
        }
Exemple #14
0
        public List <ModelPlans> Get(int id)
        {
            users userFilter = null;

            userFilter = db.users.Find(id);
            List <plans>      dbList = new List <plans>();
            List <ModelPlans> lista  = new List <ModelPlans>();

            if (userFilter != null)
            {
                dbList.AddRange(userFilter.plans);
                foreach (plans loc in dbList)
                {
                    ModelPlans ml = new ModelPlans(loc);

                    hotels h = null;
                    h = db.hotels.Find(ml.hotel_id);
                    if (h != null)
                    {
                        ml.hotel_name = h.hotel_name;
                    }

                    transport t = null;
                    t = db.transport.Find(ml.transport_id);
                    if (t != null)
                    {
                        locations l = null;
                        l = db.locations.Find(t.end_id);
                        if (l != null)
                        {
                            ml.destination = l.loc_name;
                        }
                    }

                    lista.Add(ml);
                }
            }

            return(lista);
        }
 partial void Inserttransport(transport instance);
 partial void Deletetransport(transport instance);
Exemple #17
0
 private bool SaveData()
 {
     try
     {
         var    createBy    = Helper.GetLocalIPAddress();
         var    orderNo     = lblOrderNo.Text;
         var    barcodeNo   = txtBarcodeNo.Text.ToLong();
         var    truckId     = cboTruckNo.SelectedValue.ToString().ToInt16();
         string stockNo     = "";
         int    stockItem   = 0;
         string transportNo = "";
         using (var db = new SlaughterhouseEntities())
         {
             var barcode = db.barcodes.Find(barcodeNo);
             if (barcode == null)
             {
                 throw new Exception("ไม่พบข้อมูลบาร์โค็ดนี้! \rหรือจ่ายออกแล้ว");
             }
             //if (barcode.active == false)
             //{
             //    throw new Exception("ข้อมูลบาร์โค็ด จ่ายออกแล้ว!");
             //}
             var orderItems = db.orders_item.Where(p => p.order_no == orderNo &&
                                                   p.product_code == barcode.product_code)
                              .OrderBy(p => p.seq).SingleOrDefault();
             if (orderItems == null)
             {
                 throw new Exception("สินค้าไม่ตรง กับรายการสั่งขาย!");
             }
             if (orderItems.unload_qty >= orderItems.order_qty)
             {
                 throw new Exception("จ่ายสินค้า ครบแล้ว!");
             }
             var transport        = db.transports.Where(p => p.ref_document_no == orderNo).SingleOrDefault();
             var transportGenrate = db.document_generate.Find(Constants.TP);
             if (transport == null)
             {
                 var stockGenerate = db.document_generate.Find(Constants.STK);
                 stockNo = Constants.STK + stockGenerate.running.ToString().PadLeft(10 - Constants.STK.Length, '0');
                 stockGenerate.running        += 1;
                 db.Entry(stockGenerate).State = EntityState.Modified;
                 db.SaveChanges();
                 stockItem   = 1;
                 transportNo = Constants.TP + transportGenrate.running.ToString().PadLeft(10 - Constants.TP.Length, '0');
             }
             else
             {
                 transportNo = transport.transport_no;
                 var transportItem = db.transport_item.Where(p => p.transport_no == transport.transport_no).ToList();
                 if (transportItem.Count == 0)
                 {
                     var stockGenerate = db.document_generate.Find(Constants.STK);
                     stockNo = Constants.STK + stockGenerate.running.ToString().PadLeft(10 - Constants.STK.Length, '0');
                     stockGenerate.running        += 1;
                     db.Entry(stockGenerate).State = EntityState.Modified;
                     db.SaveChanges();
                     transportNo = transport.transport_no;
                 }
                 else
                 {
                     stockNo = transportItem[0].stock_no;
                 }
                 stockItem = transportItem.Count + 1;
                 //if (transport.transport_item.Count == 0)
                 //{
                 //    stockNo = Constants.STK + stockGenerate.running.ToString().PadLeft(10 - Constants.STK.Length, '0');
                 //    transportNo = transport.transport_no;
                 //}
                 //else
                 //{
                 //    stockNo = transport.transport_item.Select(p => p.stock_no).First();
                 //}
                 //stockItem = transport.transport_item.Count() + 1;
             }
             using (DbContextTransaction transaction = db.Database.BeginTransaction())
             {
                 try
                 {
                     //insert stock
                     var stock = new stock
                     {
                         stock_date        = productionDate,
                         stock_no          = stockNo,
                         stock_item        = stockItem,
                         product_code      = barcode.product_code,
                         stock_qty         = barcode.qty,
                         stock_wgh         = barcode.wgh,
                         ref_document_no   = orderNo,
                         ref_document_type = Constants.SO,
                         lot_no            = barcode.lot_no,
                         location_code     = 0,
                         barcode_no        = barcode.barcode_no,
                         transaction_type  = 2,
                         create_by         = createBy
                     };
                     db.stocks.Add(stock);
                     //insert transport
                     if (transport == null)
                     {
                         var trans = new transport
                         {
                             transport_no    = transportNo,
                             transport_date  = DateTime.Today,
                             truck_id        = truckId,
                             ref_document_no = orderNo,
                             transport_flag  = 0,
                             create_at       = DateTime.Now,
                             create_by       = createBy
                         };
                         db.transports.Add(trans);
                         //update transport running
                         transportGenrate.running        += 1;
                         db.Entry(transportGenrate).State = EntityState.Modified;
                     }
                     //insert transport item
                     var transItem = new transport_item
                     {
                         transport_no  = transportNo,
                         product_code  = barcode.product_code,
                         seq           = stockItem,
                         transport_qty = barcode.qty,
                         transport_wgh = barcode.wgh,
                         stock_no      = stockNo,
                         lot_no        = barcode.lot_no,
                         truck_id      = truckId,
                         barcode_no    = barcode.barcode_no,
                         bom_code      = orderItems.bom_code,
                         create_at     = DateTime.Now,
                         create_by     = createBy
                     };
                     db.transport_item.Add(transItem);
                     //var genDoc = db.document_generate.Find(Constants.STK);
                     //set unload
                     orderItems.unload_qty     += barcode.qty;
                     orderItems.unload_wgh     += barcode.wgh;
                     orderItems.modified_by     = createBy;
                     orderItems.modified_at     = DateTime.Now;
                     db.Entry(orderItems).State = EntityState.Modified;
                     //set barcode
                     barcode.active          = false;
                     db.Entry(barcode).State = EntityState.Modified;
                     //var barcodeHis = new barcode_history();
                     //barcodeHis.barcode_no = barcode.barcode_no;
                     //barcodeHis.product_code = barcode.product_code;
                     //barcodeHis.production_date = barcode.production_date;
                     //barcodeHis.lot_no = barcode.lot_no;
                     //barcodeHis.qty = barcode.qty;
                     //barcodeHis.wgh = barcode.wgh;
                     //barcodeHis.active = barcode.active;
                     //barcodeHis.qrcode_image = barcode.qrcode_image;
                     //barcodeHis.location_code = barcode.location_code;
                     //barcodeHis.create_at = barcode.create_at;
                     //barcodeHis.qrcode_image = barcode.qrcode_image;
                     ////delete barcode
                     //db.barcodes.Remove(barcode);
                     db.SaveChanges();
                     transaction.Commit();
                     return(true);
                 }
                 catch (Exception)
                 {
                     transaction.Rollback();
                     throw;
                 }
             }
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #18
0
        public transport ShowDialog(transport transport, bool isNew, List <company> companies,
                                    List <TransportViewModel> transports)
        {
            this.companies = companies;
            _transportCompany.ItemsSource        = this.companies;
            _transportShipperCompany.ItemsSource = this.companies;

            UpdatedUI(transport);
            _okAction.Content = isNew ? "ADD" : "Search";
            _okAction.Click  += (s, e) =>
            {
                try
                {
                    if (isNew)
                    {
                        if (int.TryParse(_transportID.Text, out int ID) &&
                            !string.IsNullOrEmpty(_transportDate.Text) &&
                            _transportCompany.SelectedValue != null &&
                            _transportShipperCompany.SelectedValue != null)
                        {
                            DateTime.TryParse(_transportDate.Text, out DateTime transportDate);
                            transport.ID                   = ID;
                            transport.transport_date       = transportDate;
                            transport.transport_company_id = int.Parse(_transportCompany.SelectedValue.ToString());
                            transport.shipper_company_id   = int.Parse(_transportShipperCompany.SelectedValue.ToString());
                        }

                        this.Close();
                    }
                    else
                    {
                        TransportViewModel searchResult = null;
                        if (int.TryParse(_transportID.Text, out int ID))
                        {
                            searchResult = transports.FirstOrDefault(x => x.ID == ID);
                        }
                        else if (!string.IsNullOrEmpty(_transportDate.Text) &&
                                 DateTime.TryParse(_transportDate.Text, out DateTime transportDate))
                        {
                            searchResult = transports.FirstOrDefault(x => x.TransportDate == transportDate);
                        }
                        if (searchResult != null)
                        {
                            UpdatedUI(new transport()
                            {
                                ID                   = searchResult.ID,
                                transport_date       = searchResult.TransportDate,
                                shipper_company_id   = searchResult.shipper_company_id,
                                transport_company_id = searchResult.transport_company_id
                            });
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Please enter valid details : " + ex.Message, "Error!");
                }
            };

            _cancleAction.Click += (s, e) =>
            {
                transport = null;
                this.Close();
            };

            ShowDialog();
            return(transport);
        }
 private bool SaveData()
 {
     try
     {
         var    orderNo         = lblOrderNo.Text;
         var    scaleWeight     = lblWeight.Text.ToDecimal();
         var    refDocumentNo   = "";
         var    refDocumentType = "";
         var    transportNo     = "";
         var    truckId         = cboTruckNo.SelectedValue.ToString().ToInt16();
         string createBy        = Helper.GetLocalIPAddress();
         using (var db = new SlaughterhouseEntities())
         {
             var receiveItem = db.receive_item.Where(p => p.product_code == product.product_code &&
                                                     p.lot_no == lotNo &&
                                                     p.chill_qty == 0)
                               .OrderBy(p => p.seq).Take(1).SingleOrDefault();
             if (receiveItem == null)
             {
                 LoadLotNo();
                 throw new Exception("ไม่พบ Lot No\rกรุณาเลือก Lot No ใหม่!");
             }
             using (DbContextTransaction transaction = db.Database.BeginTransaction())
             {
                 try
                 {
                     int    seq     = 0;
                     string stockNo = "";
                     int    bomCode = 0;
                     if (!string.IsNullOrEmpty(orderNo))
                     {
                         refDocumentNo   = orderNo;
                         refDocumentType = Constants.SO;
                         //update order
                         var orderItem = db.orders_item.Where(p => p.order_no == orderNo &&
                                                              p.product_code == product.product_code).SingleOrDefault();
                         if (orderItem.order_qty - orderItem.unload_qty == 0)
                         {
                             throw new Exception("ไม่สามารถจ่ายได้!\rจำนวนจ่ายครบแล้ว");
                         }
                         bomCode = orderItem.bom_code;
                         //update production order
                         orderItem.unload_qty     += 1;
                         orderItem.unload_wgh     += scaleWeight;
                         orderItem.modified_at     = DateTime.Now;
                         orderItem.modified_by     = createBy;
                         db.Entry(orderItem).State = EntityState.Modified;
                         var transport        = db.transports.Where(p => p.ref_document_no == orderNo).SingleOrDefault();
                         var transportGenrate = db.document_generate.Find(Constants.TP);
                         if (transport == null)
                         {
                             transportNo = Constants.TP + transportGenrate.running.ToString().PadLeft(10 - Constants.TP.Length, '0');
                             //update transport running
                             transportGenrate.running        += 1;
                             db.Entry(transportGenrate).State = EntityState.Modified;
                         }
                         else
                         {
                             transportNo = transport.transport_no;
                         }
                     }
                     else
                     {
                         var issDoc = db.document_generate.Find(Constants.ISS);// (from p in db.document_generate where p.document_type == Constants.ISS select p).SingleOrDefault();
                         refDocumentNo   = Constants.ISS + issDoc.running.ToString().PadLeft(10 - Constants.ISS.Length, '0');
                         refDocumentType = Constants.ISS;
                     }
                     var stockGenerate = db.document_generate.Find(Constants.STK);
                     //check stock_item_running
                     var stockItemRunning = db.stock_item_running.Where(p => p.doc_no.Equals(refDocumentNo)).SingleOrDefault();
                     if (stockItemRunning == null)
                     {
                         //get new stock doc no
                         stockNo = Constants.STK + stockGenerate.running.ToString().PadLeft(10 - Constants.STK.Length, '0');
                         seq     = 1;
                     }
                     else
                     {
                         stockNo = stockItemRunning.stock_no;
                         seq     = stockItemRunning.stock_item + 1;
                     }
                     if (!string.IsNullOrEmpty(orderNo))
                     {
                         //update receive item
                         receiveItem.transfer_qty = 1;
                         receiveItem.transfer_wgh = scaleWeight;
                         var transport = db.transports.Find(transportNo);
                         if (transport == null)
                         {
                             var trans = new transport
                             {
                                 transport_no    = transportNo,
                                 transport_date  = DateTime.Today,
                                 ref_document_no = orderNo,
                                 truck_id        = truckId,
                                 transport_flag  = 0,
                                 create_at       = DateTime.Now,
                                 create_by       = createBy
                             };
                             db.transports.Add(trans);
                         }
                         else
                         {
                             transport.truck_id        = truckId;
                             db.Entry(transport).State = EntityState.Modified;
                         }
                         //insert transport item
                         var transItem = new transport_item
                         {
                             transport_no  = transportNo,
                             product_code  = product.product_code,
                             seq           = seq,
                             transport_qty = 1,
                             transport_wgh = scaleWeight,
                             stock_no      = stockNo,
                             lot_no        = lotNo,
                             truck_id      = truckId,
                             barcode_no    = 0,
                             bom_code      = bomCode,
                             create_at     = DateTime.Now,
                             create_by     = createBy
                         };
                         db.transport_item.Add(transItem);
                     }
                     else
                     {
                         //var issued = db.issued_info.Where(p => p.issued_date == productionDate
                         //                                && p.product_code == product.product_code
                         //                                && p.lot_no == lotNo).SingleOrDefault();
                         var issuedInfo = db.issued_info.Find(productionDate, product.product_code, lotNo);
                         if (issuedInfo == null)
                         {
                             var newIssued = new issued_info
                             {
                                 issued_date  = productionDate,
                                 product_code = product.product_code,
                                 lot_no       = lotNo,
                                 issued_qty   = 1,
                                 issued_wgh   = scaleWeight,
                                 usage_qty    = 0,
                                 usage_wgh    = 0,
                                 active       = true,
                                 create_at    = DateTime.Now,
                                 create_by    = createBy
                             };
                             db.issued_info.Add(newIssued);
                         }
                         else
                         {
                             issuedInfo.issued_qty     += 1;
                             issuedInfo.issued_wgh     += scaleWeight;
                             issuedInfo.modified_at     = DateTime.Now;
                             issuedInfo.modified_by     = createBy;
                             db.Entry(issuedInfo).State = EntityState.Modified;
                         }
                     }
                     //update receive item
                     receiveItem.chill_qty       = 1;
                     receiveItem.chill_wgh       = scaleWeight;
                     receiveItem.modified_at     = DateTime.Now;
                     receiveItem.modified_by     = createBy;
                     db.Entry(receiveItem).State = EntityState.Modified;
                     //insert stock
                     var stock = new stock
                     {
                         stock_date        = productionDate,
                         stock_no          = stockNo,
                         stock_item        = seq,
                         product_code      = product.product_code,
                         stock_qty         = 1,
                         stock_wgh         = scaleWeight,
                         ref_document_no   = refDocumentNo,
                         ref_document_type = refDocumentType,
                         lot_no            = lotNo,
                         location_code     = 2, //ห้องเย็นเก็บหมุซีก
                         barcode_no        = 0,
                         transaction_type  = 2,
                         create_by         = createBy
                     };
                     db.stocks.Add(stock);
                     //รับหมูซีก เครื่องใน ไม่ต้อง update stock_item_running เพราะเริ่มตาม receive_item.seq
                     if (stockItemRunning == null)
                     {
                         //insert stock_item_running
                         var newStockItem = new stock_item_running
                         {
                             doc_no     = refDocumentNo,
                             stock_no   = stockNo,
                             stock_item = 1,
                             create_by  = createBy
                         };
                         db.stock_item_running.Add(newStockItem);
                         //update document_generate
                         stockGenerate.running        += 1;
                         db.Entry(stockGenerate).State = EntityState.Modified;
                     }
                     else
                     {
                         //update stock_item_running
                         stockItemRunning.stock_item     += 1;
                         db.Entry(stockItemRunning).State = EntityState.Modified;
                     }
                     db.SaveChanges();
                     transaction.Commit();
                 }
                 catch (Exception)
                 {
                     transaction.Rollback();
                     throw;
                 }
             }
         }
         return(true);
     }
     catch (Exception)
     {
         throw;
     }
 }
 public TransportBooking(transport t)
 {
     InitializeComponent();
     this.trans = t;
 }
 partial void Updatetransport(transport instance);
Exemple #22
0
        private bool SaveData()
        {
            try
            {
                var    orderNo         = lblOrderNo.Text;
                var    scaleWeight     = lblWeight.Text.ToDecimal();
                var    refDocumentNo   = "";
                var    refDocumentType = "";
                string stockNo         = "";
                string transportNo     = "";
                int    transportItem   = 0;
                var    truckId         = cboTruckNo.SelectedValue.ToString().ToInt16();
                string createBy        = Helper.GetLocalIPAddress();
                using (var db = new SlaughterhouseEntities())
                {
                    using (DbContextTransaction transaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            refDocumentNo   = orderNo;
                            refDocumentType = Constants.SO;
                            //update order
                            var orderItem = db.orders_item.Where(p => p.order_no == orderNo &&
                                                                 p.product_code == product.product_code).SingleOrDefault();
                            if (orderItem.order_qty - orderItem.unload_qty == 0)
                            {
                                throw new Exception("ไม่สามารถจ่ายได้!\rจำนวนจ่ายครบแล้ว");
                            }

                            var transport = db.transports.Where(p => p.ref_document_no == orderNo).SingleOrDefault();
                            if (transport == null)
                            {
                                transportNo   = Helper.GetDocGenerator(Constants.TP);
                                transportItem = 1;
                            }
                            else
                            {
                                transportNo   = transport.transport_no;
                                transportItem = transport.transport_item.Count() + 1;
                            }

                            if (transport == null)
                            {
                                var trans = new transport
                                {
                                    transport_no    = transportNo,
                                    transport_date  = DateTime.Today,
                                    ref_document_no = orderNo,
                                    truck_id        = truckId,
                                    transport_flag  = 0,
                                    create_at       = DateTime.Now,
                                    create_by       = createBy
                                };
                                db.transports.Add(trans);
                            }
                            else
                            {
                                transport.truck_id        = truckId;
                                db.Entry(transport).State = EntityState.Modified;
                            }
                            //insert transport item
                            var transItem = new transport_item
                            {
                                transport_no  = transportNo,
                                product_code  = product.product_code,
                                seq           = transportItem,
                                transport_qty = 1,
                                transport_wgh = scaleWeight,
                                stock_no      = stockNo,
                                lot_no        = lotNo,
                                truck_id      = truckId,
                                barcode_no    = 0,
                                bom_code      = 0,
                                create_at     = DateTime.Now,
                                create_by     = createBy
                            };
                            db.transport_item.Add(transItem);

                            orderItem.unload_qty     += 1;
                            orderItem.unload_wgh     += scaleWeight;
                            orderItem.modified_at     = DateTime.Now;
                            orderItem.modified_by     = createBy;
                            db.Entry(orderItem).State = EntityState.Modified;

                            db.SaveChanges();
                            transaction.Commit();
                        }
                        catch (Exception)
                        {
                            transaction.Rollback();
                            throw;
                        }
                    }
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }