Пример #1
0
        public JsonResult SyncDataToSQLite(List <CMSDeliveryWModels> SyncUpData)
        {
            List <CMSDeliveryWModels> SyncDownDatas = new List <CMSDeliveryWModels>();
            var cmsService = new MobileService();

            if (SyncUpData != null)
            {
                foreach (var row in SyncUpData)
                {
                    var cri = new MobileCri();
                    cri.Delivery_ID       = row.Delivery_ID;
                    cri.Sync_Current_Data = true;
                    var result = cmsService.GetCMSDelivery(cri);
                    if (result.Code == ReturnCode.SUCCESS)
                    {
                        var deliverys = result.Object as List <CMS_Delivery>;
                        if (deliverys != null && deliverys.Count > 0)
                        {
                            CMS_Delivery get_delivery = new CMS_Delivery();
                            get_delivery = deliverys.FirstOrDefault();
                            if (get_delivery != null)
                            {
                                CMSDeliveryWModels _delivery = new CMSDeliveryWModels();
                                _delivery.Local_Delivery_ID = row.Local_Delivery_ID;
                                _delivery.Delivery_ID       = get_delivery.Delivery_ID;
                                _delivery.Delivery_Order_No = get_delivery.Delivery_Order_No;
                                _delivery.Record_Status     = get_delivery.Record_Status;

                                //Boolean in Sqlite (0,Fail) , (1,true)
                                if (get_delivery.Completed.HasValue && get_delivery.Completed.Value)
                                {
                                    _delivery.Completed = 1;
                                }
                                else
                                {
                                    _delivery.Completed = 0;
                                }

                                SyncDownDatas.Add(_delivery);
                            }
                        }
                    }
                }
            }

            return(Json(SyncDownDatas, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        public void TestSyncUp(string pDeliveryID = "", string pDrumCode = "", string pDeliveryDetailID = "")
        {
            var          currentdate = StoredProcedure.GetCurrentDate();
            var          cmsService  = new MobileService();
            CMS_Delivery _Delivery   = new CMS_Delivery();
            var          cri         = new MobileCri();

            cri.Delivery_ID = NumUtil.ParseInteger(pDeliveryID);
            var result = cmsService.GetCMSDelivery(cri);

            if (result.Code == ReturnCode.SUCCESS)
            {
                var deliverys = result.Object as List <CMS_Delivery>;
                if (deliverys != null && deliverys.Count() == 1)
                {
                    _Delivery                   = deliverys.FirstOrDefault();
                    _Delivery.Delivery_ID       = _Delivery.Delivery_ID;
                    _Delivery.Delivery_Order_No = _Delivery.Delivery_Order_No;
                    _Delivery.Completed         = true;
                    _Delivery.Update_By         = "Test";
                    _Delivery.Update_On         = currentdate;
                    List <CMS_Delivery_Detail> _Details = new List <CMS_Delivery_Detail>();
                    CMS_Delivery_Detail        _Detail  = new CMS_Delivery_Detail();
                    _Detail.CMS_Delivery_Detail_ID = NumUtil.ParseInteger(pDeliveryDetailID);;
                    _Detail.Delivery_ID            = _Delivery.Delivery_ID;
                    _Detail.Drum_Code      = pDrumCode;
                    _Detail.Update_By      = "Test";
                    _Detail.Update_On      = currentdate;
                    _Detail.Date_Delivered = currentdate;
                    _Details.Add(_Detail);
                    _Delivery.CMS_Delivery_Detail = _Details;
                }
            }

            var result2 = cmsService.UpdateCMSDelivery(_Delivery);
        }
Пример #3
0
        public JsonResult SyncUpDeliverysByRecord(CMSDeliveryWModels SyncUpData)
        {
            var     currentdate = StoredProcedure.GetCurrentDate();
            var     cmsService  = new MobileService();
            Boolean IsPass      = false;
            var     _result     = new wResult();

            if (SyncUpData != null)
            {
                IsPass = false;
                CMS_Delivery _Delivery = new CMS_Delivery();
                var          cri       = new MobileCri();
                cri.Delivery_ID = SyncUpData.Delivery_ID;
                var result = cmsService.GetCMSDelivery(cri);
                if (result.Code == ReturnCode.SUCCESS)
                {
                    var deliverys = result.Object as List <CMS_Delivery>;
                    if (deliverys != null && deliverys.Count() == 1)
                    {
                        IsPass                      = true;
                        _Delivery                   = deliverys.FirstOrDefault();
                        _Delivery.Delivery_ID       = SyncUpData.Delivery_ID;
                        _Delivery.Delivery_Order_No = SyncUpData.Delivery_Order_No;
                        _Delivery.Completed         = true;
                        _Delivery.Update_By         = SyncUpData.Update_By;
                        _Delivery.Update_On         = currentdate;

                        List <CMS_Delivery_Detail> _Details = new List <CMS_Delivery_Detail>();
                        if (SyncUpData.DeliveryDetail != null)
                        {
                            foreach (var row2 in SyncUpData.DeliveryDetail)
                            {
                                CMS_Delivery_Detail _Detail = new CMS_Delivery_Detail();
                                _Detail.CMS_Delivery_Detail_ID = row2.CMS_Delivery_Detail_ID;
                                _Detail.Delivery_ID            = row2.Delivery_ID;
                                _Detail.Drum_Code      = row2.Drum_Code.Trim();
                                _Detail.Update_By      = SyncUpData.Update_By;
                                _Detail.Update_On      = currentdate;
                                _Detail.Date_Delivered = DateUtil.ToDate(row2.Date_Delivered);
                                _Details.Add(_Detail);
                            }
                            _Delivery.CMS_Delivery_Detail = _Details;
                        }
                    }

                    if (!IsPass)
                    {
                        _result.status  = "1";
                        _result.message = "Error! can not found Delivery";
                        return(Json(new { Data = _result }, JsonRequestBehavior.AllowGet));
                    }
                    var result2 = cmsService.UpdateCMSDelivery(_Delivery);
                    if (result2.Code == ReturnCode.SUCCESS)
                    {
                        _result.status  = "200";
                        _result.message = "Update successfully";
                    }
                    else
                    {
                        _result.status  = "1";
                        _result.message = "Error! can not update data";
                    }
                }
            }
            else
            {
                _result.status  = "1";
                _result.message = "Error! can not update data";
            }
            return(Json(new { Data = _result }, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        public ServiceResult UpdateCMSDelivery(CMS_Delivery Delivery)
        {
            try
            {
                using (var db = new AgnosDBContext())
                {
                    var current = db.CMS_Delivery.Where(w => w.Delivery_ID == Delivery.Delivery_ID).FirstOrDefault();
                    if (current != null)
                    {
                        var chargeIDs = new List <int>();
                        var purgeIDs  = new List <int>();
                        foreach (var wrow in Delivery.CMS_Delivery_Detail)
                        {
                            var current2 = db.CMS_Delivery_Detail.Where(w => w.CMS_Delivery_Detail_ID == wrow.CMS_Delivery_Detail_ID).FirstOrDefault();
                            if (current2 != null)
                            {
                                if (!string.IsNullOrEmpty(wrow.Drum_Code))
                                {
                                    string[] drumcodelst = wrow.Drum_Code.Split(',');
                                    foreach (string drumcode in drumcodelst)
                                    {
                                        if (!string.IsNullOrEmpty(drumcode))
                                        {
                                            var charge = db.CMS_Charge.Where(w => w.Drum_Code == drumcode.Trim() && w.Delivery_Status != Delivery_Status.Completed).FirstOrDefault();
                                            if (charge != null)
                                            {
                                                if (!chargeIDs.Contains(charge.Charge_ID))
                                                {
                                                    charge.Delivery_ID       = current.Delivery_ID;
                                                    charge.Delivery_Order_No = current.Delivery_Order_No;
                                                    charge.Date_Delivered    = wrow.Date_Delivered;
                                                    charge.Delivery_Status   = Delivery_Status.Completed;
                                                    chargeIDs.Add(charge.Charge_ID);
                                                }
                                            }

                                            var purge = db.CMS_Purge.Where(w => w.Drum_Code == drumcode.Trim() && w.Delivery_Status != Delivery_Status.Completed).FirstOrDefault();
                                            if (purge != null)
                                            {
                                                if (!purgeIDs.Contains(purge.Purge_ID))
                                                {
                                                    purge.Delivery_ID     = current.Delivery_ID;
                                                    purge.Delivery_Status = Delivery_Status.Completed;
                                                    purgeIDs.Add(purge.Purge_ID);
                                                }
                                            }
                                        }
                                    }
                                }
                                current2.Drum_Code      = wrow.Drum_Code;
                                current2.Update_By      = wrow.Update_By;
                                current2.Update_On      = wrow.Update_On;
                                current2.Date_Delivered = wrow.Date_Delivered;
                            }
                        }
                        db.Entry(current).CurrentValues.SetValues(Delivery);
                    }

                    db.SaveChanges();
                    return(new ServiceResult()
                    {
                        Code = ReturnCode.SUCCESS,
                        Msg = Success.GetMessage(ReturnCode.SUCCESS_UPDATE),
                        Field = Resource.CMS_Delivery
                    });
                }
            }
            catch (Exception ex)
            {
                return(new ServiceResult()
                {
                    Code = ReturnCode.ERROR_UPDATE,
                    Msg = Error.GetMessage(ReturnCode.ERROR_UPDATE),
                    Field = Resource.CMS_Delivery,
                    Exception = ex
                });
            }
        }