Exemple #1
0
        /// <summary>
        /// 修改快递公司
        /// </summary>
        /// <param name="id">ID</param>
        /// <param name="name">名称</param>
        /// <param name="isValid">是否有效</param>
        /// <param name="mender">创建人</param>
        public void Update(string id, string name, string isValid, string mender)
        {
            using (DbConnection conn = DbHelper.CreateConnection())
            {
                DbTransaction trans = null;
                try
                {
                    conn.Open();
                    trans = conn.BeginTransaction();

                    ExpressCompany entity = this.Select(trans, id);
                    entity.Update(name, isValid, mender);
                    this.expressCompanyRepository.Update(trans, entity);

                    trans.Commit();
                }
                catch (EasySoftException ex)
                {
                    if (trans != null)
                    {
                        trans.Rollback();
                    }
                    throw ex;
                }
                catch (Exception ex)
                {
                    if (trans != null)
                    {
                        trans.Rollback();
                    }
                    throw ex;
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// 删除快递公司
        /// </summary>
        /// <param name="id">Id</param>
        public void Delete(string id)
        {
            using (DbConnection conn = DbHelper.CreateConnection())
            {
                DbTransaction trans = null;
                try
                {
                    conn.Open();
                    trans = conn.BeginTransaction();

                    ExpressCompany oldEntity = this.Select(trans, id);
                    // 检查Code是否已使用
                    this.expressCompanyRepository.Delete(trans, id);

                    trans.Commit();
                }
                catch (EasySoftException ex)
                {
                    if (trans != null)
                    {
                        trans.Rollback();
                    }
                    throw ex;
                }
                catch (Exception ex)
                {
                    if (trans != null)
                    {
                        trans.Rollback();
                    }
                    throw ex;
                }
            }
        }
        public void HandleEvent(OrderShipedEventData eventData)
        {
            AsyncHelper.RunSync(async() =>
            {
                string openid = WechatUserManager.GetOpenid(new UserIdentifier(eventData.Order.TenantId, eventData.Order.UserId));

                if (String.IsNullOrEmpty(openid))
                {
                    return;
                }
                OrderShipedTemplateMessageData data = new OrderShipedTemplateMessageData()
                {
                    first    = new TemplateDataItem(eventData.Order.Title),
                    keyword1 = new TemplateDataItem(eventData.Order.Number),
                    keyword4 = new TemplateDataItem(eventData.Order.CreationTime.ToString()),
                    remark   = new TemplateDataItem(L("ThankYouForYourPatronage"))
                };

                if (eventData.ExpressInfo != null)
                {
                    ExpressCompany expressCompany = ExpressCompanyRepository.Get(eventData.ExpressInfo.ExpressCompanyId);
                    data.keyword2 = new TemplateDataItem(expressCompany.Name);
                    data.keyword3 = new TemplateDataItem(eventData.ExpressInfo.TrackingNumber);
                }
                else
                {
                    data.keyword2 = new TemplateDataItem(L("Null"));
                    data.keyword3 = new TemplateDataItem(L("Null"));
                }
                await TemplateMessageManager.SendTemplateMessageOfOrderShipedAsync(eventData.Order.TenantId, openid, OrderHelper.GetOrderDetailUrl(eventData.Order.Id), data);
            });
        }
        /// <summary>
        /// 编辑行
        /// </summary>
        /// <param name="row"></param>
        protected void EditRow()
        {
            this.editCompanyEntryModel = new EditCompanyEntryModel(this.expressCompanyGroup[this.selectedIndex]);
            EditCompanyEntryDialog dialog = new EditCompanyEntryDialog(editCompanyEntryModel);

            this.editCompanyEntryModel.window = dialog;
            bool?isOK = dialog.ShowDialog();

            if (isOK.HasValue)
            {
                if ((bool)isOK == false)
                {
                    ExpressCompany        editCompanyEntry = this.editCompanyEntryModel.editCompanyEntry;
                    List <ExpressCompany> companyList      = new List <ExpressCompany>();
                    for (int i = 0; i < expressCompanyGroup.Count; i++)
                    {
                        if (i != this.selectedIndex)
                        {
                            companyList.Add(expressCompanyGroup[i]);
                        }
                        else
                        {
                            companyList.Add(editCompanyEntry);
                        }
                    }
                    expressCompanyGroup = companyList;
                }
            }
        }
        /// <summary>
        /// 更新快递面单信息(面单大小、面单图片地址,面单元素)
        /// </summary>
        /// <param name="express"></param>
        public static void UpdateExpressAndElement(ExpressCompany express)
        {
            if (string.IsNullOrWhiteSpace(express.Name))
            {
                throw new MallException("快递公司名称不能为空!");
            }
            //var expressinfo = AutoMapper.Mapper.Map<ExpressInfoInfo>(express);
            var expressinfo = express.Map <ExpressInfoInfo>();

            if (!string.IsNullOrWhiteSpace(expressinfo.BackGroundImage) && expressinfo.BackGroundImage.ToLower().Contains("/temp"))
            {
                string imageName    = expressinfo.Name + ".png";
                string destFileName = CommonConst.ExpressImagePath + imageName;
                string filename     = expressinfo.BackGroundImage.Substring(expressinfo.BackGroundImage.ToLower().LastIndexOf("/temp"));
                Core.MallIO.CopyFile(filename, destFileName, true);
                expressinfo.BackGroundImage = destFileName;
            }
            var elements = express.Elements.Select(e => new ExpressElementInfo
            {
                ElementType       = e.ElementType,
                ExpressId         = e.ExpressId,
                LeftTopPointX     = e.a.Length > 0 ? e.a[0] : 0,
                LeftTopPointY     = e.a.Length > 1 ? e.a[1] : 0,
                RightBottomPointX = e.b.Length > 0 ? e.b[0] : 0,
                RightBottomPointY = e.a.Length > 1 ? e.b[1] : 0
            });

            _iExpressService.UpdateExpressAndElement(expressinfo, elements.ToArray());
        }
Exemple #6
0
        public JsonResult SaveExpressCompany(string expressCompany)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            ExpressCompany       model      = serializer.Deserialize <ExpressCompany>(expressCompany);

            bool flag = false;

            if (model.AutoID == 0)
            {
                model.CreateUserID = string.Empty;
                flag = ExpressCompanyBusiness.InsertExpressCompany(model);
            }
            else
            {
                model.CreateUserID = string.Empty;
                flag = ExpressCompanyBusiness.UpdateExpressCompany(model);
            }
            JsonDictionary.Add("Result", flag ? 1 : 0);

            return(new JsonResult()
            {
                Data = JsonDictionary,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Exemple #7
0
 public EditCompanyEntryModel(ExpressCompany companyEntry)
 {
     this.editCompanyEntry     = companyEntry;
     this.selectedExpressType  = enumExpressType.getExpressTypeIndex(companyEntry.ExpressType);
     this.selectedDeliveryType = enumDeliveryType.getDeliveryTypeIndex(companyEntry.DeliveryType);
     this.isEnabled            = companyEntry.IsEnabled;
     this._excuteCommand       = new RelayCommand(this.ExcuteUpdateCommand, this.CheckExcuteCommandCanExecute);
     this._quitCommand         = new RelayCommand(this.QuitUpdateCommand);
 }
Exemple #8
0
        public static void Test()
        {
            //查询
            Console.WriteLine("查询所有数据");
            var list = DapperHelper.GetList <ExpressCompany>();

            foreach (var item in list)
            {
                Console.WriteLine(item.CompanyCode + "||" + item.CompanyName);
            }

            //条件查询
            Console.WriteLine("查询快递公司名称为“顺丰快递”的数据");
            foreach (var item in DapperHelper.GetList <ExpressCompany>(new { CompanyName = "顺丰快递" }))
            {
                Console.WriteLine(item.CompanyCode + "||" + item.CompanyName);
            }

            //条件查询
            Console.WriteLine("查询快递公司名称中包含为“快递”的数据");
            string likename = "%快递%";

            foreach (var item in DapperHelper.GetList <ExpressCompany>("where CompanyName like @CompanyName", new { CompanyName = likename }))
            {
                Console.WriteLine(item.CompanyCode + "||" + item.CompanyName);
            }

            //分页查询
            Console.WriteLine("查询快递公司名称中包含为“快递”的第一页前10条数据");
            likename = "%快递%";
            foreach (var item in DapperHelper.GetListPaged <ExpressCompany>(1, 10, "where CompanyName like @CompanyName", "CompanyName desc", new { CompanyName = likename }))
            {
                Console.WriteLine(item.CompanyCode + "||" + item.CompanyName);
            }

            //新增
            Console.WriteLine("插入一条名称为“测试快递公司”的数据");
            ExpressCompany itemNew = new ExpressCompany
            {
                CompanyName = "测试快递公司",
                CompanyCode = "TestCode"
            };
            var strCompanyGUID = DapperHelper.Insert <Guid>(itemNew);

            Console.WriteLine("插入的数据主键为:" + strCompanyGUID);
            //更新
            Console.WriteLine("更新刚插入的数据名称为“测试快递公司New”");
            itemNew.CompanyGUID = strCompanyGUID;
            itemNew.CompanyName = "测试快递公司New";
            DapperHelper.Update(itemNew);
            Console.WriteLine("查询刚更新的数据名称:" + DapperHelper.Get <ExpressCompany>(strCompanyGUID).CompanyName);

            //删除
            Console.WriteLine("删除刚插入的数据");
            DapperHelper.Delete <ExpressCompany>(strCompanyGUID);
        }
Exemple #9
0
        /// <summary>
        /// 根据Id查找一条数据
        /// </summary>
        /// <param name="id">Id</param>
        /// <returns>返回采购记录</returns>
        internal ExpressCompany Select(DbTransaction trans, string id)
        {
            ExpressCompany entity = this.expressCompanyRepository.Select(trans, id);

            if (entity == null)
            {
                throw new EasySoftException(BusinessResource.Common_NoFoundById);
            }
            return(entity);
        }
Exemple #10
0
        public static ExpressCompany GetExpressCompanyDetail(string id)
        {
            ExpressCompany model = new ExpressCompany();

            DataTable dt = ExpressCompanyDAL.BaseProvider.GetExpressCompanyDetail(id);

            model.FillData(dt.Rows[0]);

            return(model);
        }
Exemple #11
0
        /// <summary>
        /// 添加快递公司
        /// </summary>
        /// <param name="express"></param>
        public static void AddExpress(ExpressCompany express)
        {
            if (string.IsNullOrWhiteSpace(express.Name))
            {
                throw new HimallException("快递公司名称不能为空");
            }
            express.Name           = express.Name.TrimEnd(' ').TrimStart(' ');
            express.Kuaidi100Code  = string.IsNullOrWhiteSpace(express.Kuaidi100Code) ? "" : express.Kuaidi100Code.TrimEnd(' ').TrimStart(' ');
            express.KuaidiNiaoCode = string.IsNullOrWhiteSpace(express.KuaidiNiaoCode) ? "" : express.KuaidiNiaoCode.TrimEnd(' ').TrimStart(' ');
            var expressInfo = AutoMapper.Mapper.Map <ExpressInfoInfo>(express);

            _iExpressService.AddExpress(expressInfo);
        }
Exemple #12
0
 public JsonResult Express(ExpressCompany model)
 {
     if (model.Id > 0)
     {
         ExpressApplication.UpdateExpressCode(model);
     }
     else
     {
         ExpressApplication.AddExpress(model);
     }
     return(Json(new Result {
         success = true
     }));
 }
Exemple #13
0
        public static List <ExpressCompany> GetExpressCompanys(string keyWords, int pageSize, int pageIndex, ref int totalCount, ref int pageCount)
        {
            DataTable             dt   = CommonBusiness.GetPagerData("ExpressCompany", "*", " Status<>9 ", "AutoID", pageSize, pageIndex, out totalCount, out pageCount);
            List <ExpressCompany> list = new List <ExpressCompany>();
            ExpressCompany        model;

            foreach (DataRow item in dt.Rows)
            {
                model = new ExpressCompany();
                model.FillData(item);
                list.Add(model);
            }

            return(list);
        }
Exemple #14
0
        public static List <ExpressCompany> GetExpressCompanys()
        {
            DataTable             dt   = ExpressCompanyDAL.BaseProvider.GetExpressCompanys();
            List <ExpressCompany> list = new List <ExpressCompany>();
            ExpressCompany        model;

            foreach (DataRow item in dt.Rows)
            {
                model = new ExpressCompany();
                model.FillData(item);
                list.Add(model);
            }

            return(list);
        }
Exemple #15
0
        private void ExcuteUpdateCommand()
        {
            ExpressCompany newCompanyModel = new ExpressCompany();

            newCompanyModel.ExpressName    = editCompanyEntry.ExpressName;
            newCompanyModel.Address        = editCompanyEntry.Address;
            newCompanyModel.ContractName   = editCompanyEntry.ContractName;
            newCompanyModel.ContractNumber = editCompanyEntry.ContractNumber;
            newCompanyModel.ContractPhone  = editCompanyEntry.ContractPhone;
            newCompanyModel.DeliveryType   = enumDeliveryType.getDeliveryTypeInfo(this.selectedDeliveryType);
            newCompanyModel.ExpressType    = enumExpressType.getExpressTypeInfo(this.selectedExpressType);
            newCompanyModel.PrintTemplate  = editCompanyEntry.PrintTemplate;
            newCompanyModel.IsEnabled      = this.isEnabled;
            editCompanyEntry = newCompanyModel;
            this.WindowClose();
        }
Exemple #16
0
        public static ExpressCompany GetExpressCompanyDetail(string id)
        {
            id = id.ToLower();
            if (ExpressCompanys.ContainsKey(id))
            {
                return(ExpressCompanys[id]);
            }
            ExpressCompany model = new ExpressCompany();

            DataTable dt = ExpressCompanyDAL.BaseProvider.GetExpressCompanyDetail(id);

            model.FillData(dt.Rows[0]);

            ExpressCompanys.Add(id, model);

            return(model);
        }
Exemple #17
0
        /// <summary>
        /// 更新快递公司名称、编号
        /// </summary>
        /// <param name="express"></param>
        public static void UpdateExpressCode(ExpressCompany express)
        {
            //验证公司名称
            if (string.IsNullOrWhiteSpace(express.Name))
            {
                throw new HimallException("快递公司名称,不能为空");
            }
            var oldExpress = _iExpressService.GetExpress(express.Name);

            if (oldExpress != null && oldExpress.Id != express.Id)
            {
                throw new HimallException("快递公司名称已存在!");
            }
            if ((string.IsNullOrWhiteSpace(express.Kuaidi100Code) && string.IsNullOrWhiteSpace(express.KuaidiNiaoCode) && string.IsNullOrWhiteSpace(express.TaobaoCode)))
            {//不能都为空
                throw new HimallException("快递公司Code,不能为空");
            }
            var expressInfo = AutoMapper.Mapper.Map <ExpressInfoInfo>(express);

            _iExpressService.UpdateExpressCode(expressInfo);
        }
Exemple #18
0
        public JsonResult Save(string elements, string name, int width, int height, string backimage)//前台返回的的元素点的X、Y与宽、高的比例
        {
            elements = elements.Replace("\"[", "[").Replace("]\"", "]");
            var expressElements = Newtonsoft.Json.JsonConvert.DeserializeObject <IEnumerable <ExpressElement> >(elements);

            ExpressCompany express = new ExpressCompany();

            express.Name            = name;
            express.Height          = height;
            express.Width           = width;
            express.BackGroundImage = backimage;
            express.Elements        = expressElements.Select(e => new ExpressElement
            {
                a           = e.a,
                b           = e.b,
                ElementType = (ExpressElementType)e.name,
            }).ToList();
            ExpressApplication.UpdateExpressAndElement(express);
            return(Json(new Result {
                success = true
            }));
        }
Exemple #19
0
        public static List <ExpressCompany> GetExpressCompanys(string keyWords, int pageSize, int pageIndex, ref int totalCount, ref int pageCount)
        {
            string sqlWhere = "Status<>9";

            if (!string.IsNullOrEmpty(keyWords))
            {
                sqlWhere += " and Name like '%" + keyWords + "%'";
            }

            DataTable             dt   = CommonBusiness.GetPagerData("ExpressCompany", "*", sqlWhere, "AutoID", pageSize, pageIndex, out totalCount, out pageCount);
            List <ExpressCompany> list = new List <ExpressCompany>();
            ExpressCompany        model;

            foreach (DataRow item in dt.Rows)
            {
                model = new ExpressCompany();
                model.FillData(item);
                list.Add(model);
            }

            return(list);
        }
Exemple #20
0
        /// <summary>
        /// 新增快递公司
        /// </summary>
        /// <param name="name">名称</param>
        /// <param name="code">编码</param>
        /// <param name="creator">创建人</param>
        public void Add(string name, string code, string creator)
        {
            using (DbConnection conn = DbHelper.CreateConnection())
            {
                DbTransaction trans = null;
                try
                {
                    conn.Open();
                    trans = conn.BeginTransaction();

                    if (this.expressCompanyRepository.HasSameCode(trans, string.Empty, code))
                    {
                        throw new EasySoftException(BusinessResource.ExpressCompany_ExistsSameCode);
                    }

                    ExpressCompany entity = new ExpressCompany();
                    entity.Create(name, code, creator);
                    this.expressCompanyRepository.Insert(trans, entity);

                    trans.Commit();
                }
                catch (EasySoftException ex)
                {
                    if (trans != null)
                    {
                        trans.Rollback();
                    }
                    throw ex;
                }
                catch (Exception ex)
                {
                    if (trans != null)
                    {
                        trans.Rollback();
                    }
                    throw ex;
                }
            }
        }
Exemple #21
0
        public async Task Ship(string orderNumber, string expressCompanyName, string trackingNumber)
        {
            using (CurrentUnitOfWork.DisableFilter(DataFilters.MustHaveTenant, DataFilters.MayHaveTenant))
            {
                if (String.IsNullOrEmpty(orderNumber) || String.IsNullOrEmpty(expressCompanyName) || String.IsNullOrEmpty(trackingNumber))
                {
                    return;
                }
                Order order = OrderRepository.GetAll().Where(model => model.Number == orderNumber).FirstOrDefault();

                if (order == null)
                {
                    return;
                }
                ExpressCompany expressCompany = ExpressCompanyRepository.GetAll().Where(model => model.Name == expressCompanyName).FirstOrDefault();

                if (expressCompany == null)
                {
                    return;
                }
                await ShipAsync(order, false, new ExpressInfo(expressCompany.Id, trackingNumber));
            }
        }
Exemple #22
0
 public static bool UpdateExpressCompany(ExpressCompany model)
 {
     return(ExpressCompanyDAL.BaseProvider.UpdateExpressCompany(model.ExpressID, model.Name, model.Website));
 }
Exemple #23
0
 public static bool InsertExpressCompany(ExpressCompany model)
 {
     return(ExpressCompanyDAL.BaseProvider.InsertExpressCompany(model.Name, model.Website, model.CreateUserID));
 }