Ejemplo n.º 1
0
        public ApiMessage CreateExpressFees()
        {
            ApiMessage message = new ApiMessage() { Status = "ok" };
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            string user_id = User.Identity.Name;
            UserManager userMgr = new UserManager(int.Parse(user_id), null);
            BUser user = userMgr.CurrentUser;
            ShopManager shopManager = new ShopManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission, userMgr);

            string jsonStr = request["express"];

            jsonStr = HttpUtility.UrlDecode(jsonStr);

            JObject json = JObject.Parse(jsonStr);
            int express_id = (int)json["id"];
            BShopExpress express = new BShopExpress() { ID = express_id };
            express.IsDefault = false;
            JArray fees = (JArray)json["fees"];
            if (fees.Count > 0)
            {
                express.Fees = new List<BExpressFee>();
            }

            for (int i = 0; i < fees.Count; i++)
            {
                JObject o = (JObject)fees[i];
                int pid = (int)o["pid"];
                int cid = (int)o["cid"];
                double fee = (double)o["fee"];
                int hid = (int)o["hid"];
                BExpressFee feeObj = new BExpressFee() { Fee = fee, Province = new BArea() { ID = pid }, City = new BArea() { ID = cid }, StoreHouse = new BStoreHouse { ID = hid } };
                express.Fees.Add(feeObj);
            }

            try
            {
                shopManager.CreateExpressFees(express);
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }

            return message;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 
        /// </summary>
        public void CreateShopExpress(BShopExpress express)
        {
            if (this.CurrentUserPermission.ADD_SHOP_EXPRESS == 0)
            {
                throw new KMJXCException("没有权限添加店铺快递信息");
            }

            if (express == null)
            {
                throw new KMJXCException("异常出错");
            }

            using (KuanMaiEntities db = new KuanMaiEntities())
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    Express_Shop es=(from exp in db.Express_Shop where exp.Express_ID==express.ID && exp.Shop_ID==this.Shop.Shop_ID select exp).FirstOrDefault<Express_Shop>();
                    if (es != null)
                    {
                        throw new KMJXCException("已经添加过此快递公司");
                    }

                    es = new Express_Shop();
                    es.Shop_ID = this.Shop.Shop_ID;
                    es.Express_ID = express.ID;
                    es.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                    es.Modified = es.Created;
                    es.Created_By = this.CurrentUser.ID;
                    es.Modified_By = es.Created_By;
                    if (express.IsDefault)
                    {
                        es.IsDefault = 1;

                        //revert old default exp
                        Express_Shop defaultExp=(from exp in db.Express_Shop where exp.IsDefault==1 && exp.Shop_ID==es.Shop_ID select exp).FirstOrDefault<Express_Shop>();
                        if (defaultExp != null)
                        {
                            defaultExp.IsDefault = 0;
                        }
                    }
                    else
                    {
                        es.IsDefault = 0;
                    }
                    db.Express_Shop.Add(es);
                    db.SaveChanges();

                    if (express.Fees != null && express.Fees.Count > 0)
                    {
                        foreach (BExpressFee fee in express.Fees)
                        {
                            Express_Fee sFee = new Express_Fee();
                            if (fee.City != null)
                            {
                                sFee.City_ID = fee.City.ID;
                            }
                            sFee.Created = es.Created;
                            sFee.Created_By = es.Created_By;
                            sFee.Express_ID = es.Express_ID;
                            sFee.Fee = fee.Fee;
                            sFee.Modified = es.Modified;
                            sFee.Modified_By = es.Modified_By;
                            if (fee.Province != null)
                            {
                                sFee.Province_ID = fee.Province.ID;
                            }
                            if (fee.StoreHouse != null && fee.StoreHouse.ID > 0)
                            {
                                sFee.StoreHouse_ID = fee.StoreHouse.ID;
                            }
                            else
                            {
                                continue;
                            }

                            sFee.Shop_ID = es.Shop_ID;
                            db.Express_Fee.Add(sFee);
                        }
                    }

                    db.SaveChanges();

                    trans.Complete();
                }
            }
        }
Ejemplo n.º 3
0
        public void CreateExpressFees(BShopExpress express)
        {
            if (this.CurrentUserPermission.ADD_SHOP_EXPRESS == 0)
            {
                throw new KMJXCException("没有权限添加店铺快递信息");
            }

            if (express == null)
            {
                throw new KMJXCException("异常出错");
            }

            using (KuanMaiEntities db = new KuanMaiEntities())
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    Express_Shop es = (from exp in db.Express_Shop where exp.Express_ID == express.ID && exp.Shop_ID == this.Shop.Shop_ID select exp).FirstOrDefault<Express_Shop>();
                    if (es == null)
                    {
                        throw new KMJXCException("店铺还没有添加此快递公司,请先添加快递公司,然后再添加快递费用");
                    }

                    List<Express_Fee> allFees=(from fee in db.Express_Fee where fee.Shop_ID==es.Shop_ID select fee).ToList<Express_Fee>();

                    if (express.Fees != null && express.Fees.Count > 0)
                    {
                        foreach (BExpressFee fee in express.Fees)
                        {
                            if (fee.City == null && fee.Province == null)
                            {
                                continue;
                            }

                            if (fee.City == null)
                            {
                                fee.City = new BArea() { ID = 0 };
                            }

                            if (fee.Province == null)
                            {
                                fee.Province = new BArea() { ID = 0 };
                            }

                            Express_Fee sFee = (from efee in allFees where efee.Express_ID==es.Express_ID && efee.Province_ID == fee.Province.ID && efee.City_ID == fee.City.ID && efee.StoreHouse_ID == fee.StoreHouse.ID select efee).FirstOrDefault<Express_Fee>();
                            bool isNew = false;
                            if (sFee == null)
                            {
                                isNew = true;
                                sFee = new Express_Fee();
                            }

                            sFee.Fee = fee.Fee;
                            sFee.Modified = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                            sFee.Modified_By = this.CurrentUser.ID;

                            if (fee.StoreHouse != null && fee.StoreHouse.ID > 0)
                            {
                                sFee.StoreHouse_ID = fee.StoreHouse.ID;
                            }
                            else
                            {
                                continue;
                            }

                            if (isNew)
                            {
                                if (fee.Province != null)
                                {
                                    sFee.Province_ID = fee.Province.ID;
                                }

                                if (fee.City != null)
                                {
                                    sFee.City_ID = fee.City.ID;
                                }
                                sFee.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                                sFee.Created_By = this.CurrentUser.ID;
                                sFee.Express_ID = es.Express_ID;
                                sFee.Shop_ID = es.Shop_ID;
                                db.Express_Fee.Add(sFee);
                            }
                        }
                    }

                    db.SaveChanges();

                    trans.Complete();
                }
            }
        }