Ejemplo n.º 1
0
        public bool ModifyDelivery(DeliveryInfoModel model)
        {
            DeliveryInfo oldValue = DB.DeliveryInfo.SingleOrDefault(o => o.ID == model.ID);

            if (oldValue != null)
            {
                oldValue.OrderCode     = model.OrderCode;
                oldValue.StorehouseID  = model.StorehouseID;
                oldValue.VehicleID     = model.VehicleID;
                oldValue.HandleTime    = model.HandleTime;
                oldValue.HandleStatus  = model.HandleStatus;
                oldValue.HandleMessage = model.HandleMessage;
            }
            return(DB.SaveChanges() == 1);
        }
Ejemplo n.º 2
0
        public ActionResult DeliveryInfo(DeliveryInfoViewModel deliveryInfoViewModel)
        {
            var deliveryInfo = from DeliveryInfo in db.DeliveryInfo
                               where DeliveryInfo.UserEmail == User.Identity.Name
                               select DeliveryInfo;

            var list = deliveryInfo.ToList();
            DeliveryInfoModel deliveryInfoModel = null;

            if (list.Count() == 0)
            {
                deliveryInfoModel           = new Models.DeliveryInfoModel();
                deliveryInfoModel.UserEmail = User.Identity.Name;
                db.DeliveryInfo.Add(deliveryInfoModel);
                db.SaveChanges();
            }
            else
            {
                deliveryInfoModel = list[0];
            }

            if (!String.IsNullOrWhiteSpace(deliveryInfoViewModel.FirstName))
            {
                deliveryInfoModel.FirstName = deliveryInfoViewModel.FirstName;
            }
            if (!String.IsNullOrWhiteSpace(deliveryInfoViewModel.LastName))
            {
                deliveryInfoModel.LastName = deliveryInfoViewModel.LastName;
            }
            if (!String.IsNullOrWhiteSpace(deliveryInfoViewModel.Address))
            {
                deliveryInfoModel.Address = deliveryInfoViewModel.Address;
            }
            if (!String.IsNullOrWhiteSpace(deliveryInfoViewModel.Floor))
            {
                deliveryInfoModel.Floor = deliveryInfoViewModel.Floor;
            }
            if (!String.IsNullOrWhiteSpace(deliveryInfoViewModel.PhoneNumber))
            {
                deliveryInfoModel.PhoneNumber = deliveryInfoViewModel.PhoneNumber;
            }

            db.SaveChanges();
            return(View());
        }
Ejemplo n.º 3
0
 public ActionResult Edit(DeliveryInfoModel model)
 {
     try
     {
         if (ServiceFactory.GetOrderService().ModifyDelivery(model))
         {
             return(RedirectToAction("Index"));
         }
         else
         {
             ModelState.AddModelError("", "修改失败");
             return(View());
         }
     }
     catch
     {
         return(View());
     }
 }
Ejemplo n.º 4
0
 public ActionResult Create(DeliveryInfoModel model)
 {
     try
     {
         // TODO: Add insert logic here
         if (ServiceFactory.GetOrderService().AddDelivery(model))
         {
             return(RedirectToAction("Index"));
         }
         else
         {
             return(View());
         }
     }
     catch
     {
         return(View());
     }
 }
Ejemplo n.º 5
0
        public bool AddDelivery(DeliveryInfoModel model)
        {
            DB.DeliveryInfo.AddObject(new DeliveryInfo()
            {
                OrderCode     = model.OrderCode,
                StorehouseID  = model.StorehouseID,
                VehicleID     = model.VehicleID,
                HandleTime    = model.HandleTime,
                HandleStatus  = model.HandleStatus,
                HandleMessage = model.HandleMessage
            });

            MD_Message message = CreatEmailMessage("物流信息", "物流信息变动,请注意查收!");

            DB.MD_Message.AddObject(message);

            DB.SaveChanges();
            return(true);
        }
Ejemplo n.º 6
0
        public DeliveryInfoViewModel GetDeliveryInfoViewModel()
        {
            var deliveryInfo = from DeliveryInfo in db.DeliveryInfo
                               where DeliveryInfo.UserEmail == User.Identity.Name
                               select DeliveryInfo;

            DeliveryInfoViewModel deliveryInfoViewModel = new DeliveryInfoViewModel();

            if (deliveryInfo.ToList().Count() > 0)
            {
                DeliveryInfoModel deliveryInfoModel = deliveryInfo.ToList()[0];
                deliveryInfoViewModel.FirstName   = deliveryInfoModel.FirstName;
                deliveryInfoViewModel.LastName    = deliveryInfoModel.LastName;
                deliveryInfoViewModel.Address     = deliveryInfoModel.Address;
                deliveryInfoViewModel.Floor       = deliveryInfoModel.Floor;
                deliveryInfoViewModel.PhoneNumber = deliveryInfoModel.PhoneNumber;
            }

            return(deliveryInfoViewModel);
        }
Ejemplo n.º 7
0
        public async Task <int> SaveDeliveryAddress(DeliveryInfoDTO deliveryInfoDTO)
        {
            DeliveryInfoModel deliveryInfoModel = new DeliveryInfoModel();

            try
            {
                deliveryInfoModel.PersonName    = deliveryInfoDTO.PersonName;
                deliveryInfoModel.PostalCode    = deliveryInfoDTO.PostalCode;
                deliveryInfoModel.State         = deliveryInfoDTO.State;
                deliveryInfoModel.ContactNumber = deliveryInfoDTO.ContactNumber;
                deliveryInfoModel.Address       = deliveryInfoDTO.Address;
                _context.DeliveryInfo.Add(deliveryInfoModel);
                await _context.SaveChangesAsync();

                return(deliveryInfoModel.Id);
            }
            catch (Exception exc)
            {
                throw exc;
            }
        }
Ejemplo n.º 8
0
 public bool Modify(DeliveryInfoModel model)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 9
0
        public IActionResult GetDeliveryCheckList(string company_code, string invoice_no)
        {
            //selenium 및 크롬을 통한 웹 크롤링

            /* linux 동작시
             * 1. 구글 크롬 설치
             * centos 7 의 경우
             * 1) repo 등록
             * vi /etc/yum.repos.d/google-chrome.repo
             *
             * [google-chrome]
             * name=google-chrome
             * baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
             * enabled=1
             * gpgcheck=1
             * gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
             *
             * 2) yum install google-chrome-stable
             * yum install http://dev.naver.com/frs/download.php/443/ttf-nanum-coding-2.0-2.noarch.rpm
             * 2. 구글 크롬 드라이버 설치 // 설치된 크롬 버전에 맞는 드라이버 필요
             * 3. 폰트 설치 // 나눔고딕
             * cd /usr/share/fonts/
             * mkdir ./nanumfont
             * cd ./nanumfont
             * wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
             * unzip NanumFont_TTF_ALL.zip
             *
             * 4. webdriver에 실행권한 줄것 chmod 777 과 같이..
             * https://chromedriver.chromium.org/downloads
             */
            var msg  = string.Empty;
            var list = new List <DeliveryInfoModel>();

            if (company_code == "EMS")
            {
                var options = new ChromeOptions();
                options.AddArgument("no-sandbox");
                options.AddArgument("headless");
                options.AddArgument("window-size=1920,1080");
                options.AddArgument("disable-gpu");
                options.AddArgument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36");
                options.AddArgument("lang=ko-kr");

                using (var driver = new ChromeDriver(System.IO.Path.Combine(Directory.GetCurrentDirectory(), "webdriver"), options))
                {
                    try
                    {
                        IWait <IWebDriver> wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30.00));

                        driver.Url = $"https://service.epost.go.kr/trace.RetrieveEmsRigiTraceList.comm?POST_CODE={invoice_no}";
                        driver.Navigate();

                        wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));

                        var rows = driver.FindElementsByCssSelector(".detail_off tr");

                        foreach (var row in rows)
                        {
                            var cols = row.FindElements(By.CssSelector("td"));

                            if (cols.Count() < 4 || cols[0].Text.IsNull())
                            {
                                continue;
                            }

                            var model = new DeliveryInfoModel();

                            model.COMPANY_TYPE = company_code;
                            model.INVOICE_NO   = invoice_no;
                            model.UPDATE_DATE  = cols[0].Text;
                            model.MOVE_TYPE    = cols[1].Text;
                            model.REMARK1      = $"{cols[2].Text} {cols[3].Text}";
                            list.Add(model);
                        }

                        msg = "OK";
                    }
                    catch (Exception ex)
                    {
                        msg = ex.Message;
                    }
                    finally
                    {
                        driver.Quit();
                    }
                }
            }

            return(Json(new { msg = msg, list = list }));
        }