コード例 #1
0
ファイル: PermissionController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage GetAdminActions()
        {
            ApiMessage message = new ApiMessage() { Status = "ok" };
            List<BAdminCategoryAction> actions = new List<BAdminCategoryAction>();
            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;
            PermissionManagement permissionMgt = new PermissionManagement(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            int role_id = 0;
            int.TryParse(request["role"],out role_id);
            try
            {
                actions = permissionMgt.GetActionsByCategory(role_id);
                message.Item = actions;
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch
            {
            }
            finally
            {

            }
            return message;
        }
コード例 #2
0
ファイル: BugController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage CreateBugResponse()
        {
            ApiMessage message = new ApiMessage() { Status="ok"};
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            string user_id = User.Identity.Name;
            BugManager bugManager = new BugManager(int.Parse(user_id));
            try
            {
                int bugId = 0;
                int.TryParse(request["bug_id"],out bugId);
                string comments = "";
                if (request["description"] != null)
                {
                    comments = request["description"];
                }
                bugManager.CreateNewResponse(bugId,comments);

            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "未知错误";
            }
            return message;
        }
コード例 #3
0
 public ApiMessage VerifyPassword()
 {
     ApiMessage message = new ApiMessage() { Status = "ok" };
     HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
     HttpRequestBase request = context.Request;
     string user_id = User.Identity.Name;
     int uid = 0;
     try
     {
         int.TryParse(request["uid"], out uid);
         SystemAdmin admin = new SystemAdmin(int.Parse(user_id));
         string password = request["password"];
         if (!admin.VerifyPassword(password, uid))
         {
             message.Status = "failed";
             message.Message = "旧密码输入错误";
         }
     }
     catch (KMJXCException kex)
     {
         message.Status = "failed";
         message.Message = kex.Message;
     }
     return message;
 }
コード例 #4
0
ファイル: ShopController.cs プロジェクト: Bobom/kuanmai
        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;
        }
コード例 #5
0
ファイル: ImageController.cs プロジェクト: Bobom/kuanmai
        public JsonResult Delete()
        {
            JsonResult res = new JsonResult();
            ApiMessage message = new ApiMessage() { Status = "ok" };
            string user = HttpContext.User.Identity.Name;
            UserManager userMgr = new UserManager(int.Parse(user), null);
            ImageManager imgMgr = new ImageManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            res.Data = message;
            int imgId = 0;
            int.TryParse(Request["image_id"], out imgId);

            try
            {
                KM.JXC.DBA.Image image = null;
                if (!imgMgr.DeleteImage(imgId, out image))
                {
                    message.Status = "failed";
                }
                else
                {
                    //Delete image from disk
                    string rootPath = Request.PhysicalApplicationPath;
                    string filePath = rootPath + image.Path;
                    if (System.IO.File.Exists(filePath))
                    {
                        System.IO.File.Delete(filePath);
                        message.Status = "ok";
                    }
                }
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "未知错误";
            }
            finally
            {
            }

            return res;
        }
コード例 #6
0
ファイル: CategoriesController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage AddNewPropValue()
        {
            ApiMessage message = new ApiMessage();
            string user_id = User.Identity.Name;
            UserManager userMgr = new UserManager(int.Parse(user_id), null);
            BUser user = userMgr.CurrentUser;
            Shop MainShop = userMgr.Main_Shop;
            ShopCategoryManager cateMgr = new ShopCategoryManager(userMgr.CurrentUser, MainShop, userMgr.CurrentUserPermission);
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            string propId = request["prop_id"];
            string propValues = request["prop_values"];
            if (!string.IsNullOrEmpty(propValues))
            {
                string[] values = propValues.Split(',');
                List<string> vs = new List<string>();

                if (values != null && values.Length > 0)
                {
                    for (int i = 0; i < values.Length; i++)
                    {
                        vs.Add(values[i]);
                    }
                }

                try
                {
                    if (cateMgr.AddNewPropValue(int.Parse(propId), vs))
                    {
                        message.Status = "ok";
                    }
                    else
                    {
                        message.Status = "failed";
                    }
                }
                catch (KM.JXC.Common.KMException.KMJXCException ex)
                {
                    message.Status = "failed";
                    message.Message = ex.Message;
                }
            }
            return message;
        }
コード例 #7
0
 public ApiMessage SetCorpInfo()
 {
     ApiMessage message = new ApiMessage() { Status="ok" };
     HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
     HttpRequestBase request = context.Request;
     string user_id = User.Identity.Name;
     try
     {
         SystemAdmin admin = new SystemAdmin(int.Parse(user_id));
         Corp_Info info = new Corp_Info() { About=request["about"],Contact=request["contact"],Help=request["help"] };
         admin.SetCorpInfo(info);
     }
     catch (KMJXCException kex)
     {
         message.Status = "failed";
         message.Message = kex.Message;
     }
     return message;
 }
コード例 #8
0
ファイル: ShopController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage AddChildShop()
        {
            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 child_shop = request["shop_name"];
            int mtype = 0;
            int.TryParse(request["type"],out mtype);

            try
            {
                if (shopManager.AddChildShop(mtype, child_shop))
                {
                    message.Status = "failed";
                    message.Message = "添加失败";
                }
                else
                {
                    message.Message = "添加子店铺请求已经发出,等待子店铺主账户登录进销存批准请求";
                }
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch
            {
                message.Status = "failed";
                message.Message = "未知错误,请联系管理员";
            }
            finally
            {

            }
            return message;
        }
コード例 #9
0
ファイル: PermissionController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage CreateRole()
        {
            ApiMessage message = new ApiMessage() { Status = "ok" };
            List<BAdminRole> roles = new List<BAdminRole>();
            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;
            PermissionManagement permissionMgt = new PermissionManagement(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            string role_name = request["role"];
            string desc=request["desc"];
            int shop_id = 0;
            int.TryParse(request["shop_id"],out shop_id);
            try
            {
                int[] actions = this.ConvertToIntArrar(request["actions"]);
                if (string.IsNullOrEmpty(role_name))
                {
                    message.Status = "failed";
                    message.Message = "分组名字不能为空";
                    return message;
                }
                BAdminRole role=permissionMgt.CreateRole(role_name, desc,actions, shop_id);
                message.Item = role;

            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch
            {
            }
            finally
            {

            }
            return message;
        }
コード例 #10
0
ファイル: ProductsController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage BatchEditCategory()
        {
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            ApiMessage message = new ApiMessage();
            string user_id = User.Identity.Name;
            UserManager userMgr = new UserManager(int.Parse(user_id), null);
            BUser user = userMgr.CurrentUser;
            ProductManager pdtManager = new ProductManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            string products=request["products"];
            if (string.IsNullOrEmpty(products))
            {
                message.Status = "failed";
                message.Message = "没有选择产品,不能批量编辑类目";
                return message;
            }

            int[] product_ids = base.ConvertToIntArrar(products);
            int category = 0;
            int.TryParse(request["category"],out category);
            try
            {
                bool ret = pdtManager.BatchUpdateCategory(category, product_ids);
                if (ret)
                {
                    message.Status = "ok";
                }
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "未知错误";
            }
            return message;
        }
コード例 #11
0
ファイル: StockController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage CreateStoreHouse()
        {
            ApiMessage message = new ApiMessage();
            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;
            StockManager stockManager = new StockManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);

            try
            {
                BStoreHouse house = new BStoreHouse();
                house.Name=request["name"];
                house.Address=request["address"];
                house.Phone=request["phone"];
                house.IsDefault = false;
                if (!string.IsNullOrEmpty(request["isdefault"]))
                {
                    if (request["isdefault"] == "1")
                    {
                        house.IsDefault = true;
                    }
                }
                stockManager.CreateStoreHouse(house);
                message.Status = "ok";
                message.Message = "创建成功";
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "未知错误";
            }
            return message;
        }
コード例 #12
0
ファイル: StockController.cs プロジェクト: Bobom/kuanmai
 public ApiMessage CreateLeaveStockForMallTrade()
 {
     ApiMessage message = new ApiMessage() { Status = "ok", Message = "更新成功" };
     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;
     StockManager stockManager = new StockManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
     string mall_product=request["mall_item_id"];
     string mall_sku=request["mall_sku_id"];
     int product = 0;
     int parent_product = 0;
     string trade_id=request["trade_id"];
     string order_id = request["order_id"];
     int.TryParse(request["product"], out parent_product);
     int.TryParse(request["product_prop"], out product);
     bool map = false;
     try
     {
         if (!string.IsNullOrEmpty(request["connect"]) && request["connect"].Trim() == "1")
         {
             map = true;
         }
         else
         {
             map = false;
         }
         stockManager.CreateLeaveStockForMallTrade(trade_id, order_id, mall_product, mall_sku, parent_product, product, map);
     }
     catch (KMJXCException kex)
     {
         message.Status = "failed";
         message.Message = kex.Message;
     }
     catch
     {
     }
     return message;
 }
コード例 #13
0
ファイル: CategoriesController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage Add()
        {
            string user_id = User.Identity.Name;
            UserManager userMgr = new UserManager(int.Parse(user_id), null);
            BUser user = userMgr.CurrentUser;
            Shop cShop = userMgr.Shop;
            ShopCategoryManager cateMgr = new ShopCategoryManager(userMgr.CurrentUser, cShop, userMgr.CurrentUserPermission);

            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            ApiMessage message = new ApiMessage();
            try
            {
                BCategory cate = new BCategory();
                cate.Name = request["name"].ToString();
                cate.ID = 0;
                cate.Mall_ID = "";
                cate.Mall_PID = "";
                cate.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                cate.Parent = new BCategory() { ID = int.Parse(request["parent_id"].ToString()) };
                cateMgr.CreateCategory(cate);
                message.Status = "ok";
                message.Message = "分类创建成功";
                message.Item = cate;
            }
            catch (KM.JXC.Common.KMException.KMJXCException ex)
            {
                message.Status = "failed";
                message.Message = ex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "分类创建失败";
            }

            return message;
        }
コード例 #14
0
ファイル: BugController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage CreateBug()
        {
            ApiMessage message = new ApiMessage() { Status="ok"};
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            string user_id = User.Identity.Name;
            BugManager bugManager = new BugManager(int.Parse(user_id));
            int feature=0;
            int.TryParse(request["feature"],out feature);
            try
            {
                BBug newBug = new BBug();
                newBug.Created_By = bugManager.CurrentUser;
                newBug.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                newBug.Modified_By = bugManager.CurrentUser;
                newBug.Modified = newBug.Created;
                newBug.Status = new BBugStatus() {  ID=1};
                newBug.Title = HttpUtility.HtmlDecode(request["title"]);
                newBug.Description = HttpUtility.HtmlDecode(request["description"]);
                newBug.Feature = new BBugFeature() { ID = feature };

                bool result = bugManager.CreateNewBug(newBug);
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "未知错误";
            }

            return message;
        }
コード例 #15
0
ファイル: ProductsController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage UpdateBuyOrder()
        {
            ApiMessage message = new ApiMessage();
            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;
            BuyManager buyManager = new BuyManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            try
            {
                int oid = 0;
                long writedate = 0;
                long issuedate = 0;
                long enddate = 0;
                int supplier_id = 0;
                int order_user = 0;
                string odetails = request["order_products"];
                string desc = request["description"];
                int.TryParse(request["oid"],out oid);

                if (!string.IsNullOrEmpty(odetails))
                {
                    odetails = HttpUtility.UrlDecode(odetails);
                }

                if (!string.IsNullOrEmpty(request["writedate"]))
                {
                    writedate = DateTimeUtil.ConvertDateTimeToInt(Convert.ToDateTime(request["writedate"]));
                }

                if (!string.IsNullOrEmpty(request["issuedate"]))
                {
                    issuedate = DateTimeUtil.ConvertDateTimeToInt(Convert.ToDateTime(request["issuedate"]));
                }

                if (!string.IsNullOrEmpty(request["enddate"]))
                {
                    enddate = DateTimeUtil.ConvertDateTimeToInt(Convert.ToDateTime(request["enddate"]));
                }

                int.TryParse(request["supplier"], out supplier_id);
                int.TryParse(request["order_user"], out order_user);
                BBuyOrder order = new BBuyOrder();
                order.ID = oid;
                //order.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                //order.Created_By = new BUser() { ID = buyManager.CurrentUser.ID };
                order.Description = desc;
                order.EndTime = enddate;
                order.InsureTime = issuedate;
                order.OrderUser = new BUser() { ID = order_user };
                order.Shop = new BShop() { ID = buyManager.Shop.Shop_ID };
                order.Status = 0;
                order.Supplier = new Supplier() { Supplier_ID = supplier_id };
                order.WriteTime = writedate;
                if (!string.IsNullOrEmpty(odetails))
                {
                    JArray jOrders = JArray.Parse(odetails);
                    order.Details = new List<BBuyOrderDetail>();
                    if (jOrders != null && jOrders.Count > 0)
                    {
                        for (int i = 0; i < jOrders.Count; i++)
                        {
                            JObject jOrder = (JObject)jOrders[i];
                            int parent_product_id = (int)jOrder["product_id"];
                            JArray cjorders = (JArray)jOrder["orders"];
                            if (cjorders != null && cjorders.Count > 0)
                            {
                                for (int j = 0; j < cjorders.Count; j++)
                                {
                                    BBuyOrderDetail oDetail = new BBuyOrderDetail();
                                    oDetail.Parent_Product_ID = parent_product_id;
                                    double price = 0;
                                    int quantity = 0;
                                    double.TryParse(cjorders[j]["price"].ToString(), out price);
                                    int.TryParse(cjorders[j]["quantity"].ToString(), out quantity);
                                    oDetail.Product = new BProduct() { ID = (int)cjorders[j]["child_id"] };
                                    oDetail.Quantity = quantity;
                                    oDetail.Status = 0;
                                    oDetail.Price = price;
                                    if (quantity <= 0)
                                    {
                                        continue;
                                    }
                                    order.Details.Add(oDetail);
                                }
                            }
                        }
                    }
                }

                bool result = buyManager.UpdateBuyOrder(order);
                if (result)
                {
                    message.Status = "ok";
                }
                else
                {
                    message.Status = "failed";
                    message.Message = "更新失败";
                }
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = ex.Message;
            }
            finally
            {

            }

            return message;
        }
コード例 #16
0
ファイル: ShopController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage SyncMallSoldProducts()
        {
            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);
            bool createdProduct = false;
            bool mapProduct = false;
            int shop_id = 0;
            try
            {
                if (!string.IsNullOrEmpty(request["create_product"]) && request["create_product"] == "1")
                {
                    createdProduct = true;
                }

                if (!string.IsNullOrEmpty(request["map_product"]) && request["map_product"] == "1")
                {
                    mapProduct = true;
                }
                List<BMallProduct> newProducts = shopManager.SyncMallOnSaleProducts(shop_id, createdProduct, mapProduct);
                message.Item = newProducts.Count;
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch(Exception ex)
            {
                message.Status = "failed";
                message.Message = "未知错误";
            }
            finally
            {
            }
            return message;
        }
コード例 #17
0
ファイル: ProductsController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage GetProductProperties()
        {
            ApiMessage message = new ApiMessage() { Status = "ok" };
            List<BProduct> properties = new List<BProduct>();
            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;
            ProductManager pdtManager = new ProductManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            int product_id = 0;
            int.TryParse(request["product_id"], out product_id);

            try
            {
                properties = pdtManager.GetProductProperties(product_id);
                if (properties != null)
                {
                    message.Item = properties;
                }
                else
                {
                    message.Status = "ok";
                }
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "未知错误";
            }

            return message;
        }
コード例 #18
0
ファイル: ShopController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage UpdateExpressFee()
        {
            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);
            int express_fee_id = 0;
            double fee = 0;
            int.TryParse(request["express_fee_id"],out express_fee_id);
            double.TryParse(request["fee"],out fee);
            try
            {
                shopManager.UpdateExpressFee(express_fee_id, fee);
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "未知错误,请联系管理员";
            }
            finally
            {

            }
            return message;
        }
コード例 #19
0
ファイル: CategoriesController.cs プロジェクト: Bobom/kuanmai
 public PQGridData GetPropertiesT()
 {
     string user_id = User.Identity.Name;
     UserManager userMgr = new UserManager(int.Parse(user_id), null);
     ApiMessage message = new ApiMessage();
     BUser user = userMgr.CurrentUser;
     ShopCategoryManager cateMgr = new ShopCategoryManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
     int categoryId = 0;
     HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
     HttpRequestBase request = context.Request;
     int.TryParse(request["cid"], out categoryId);
     string sortBy = "";
     string dir = "";
     if (request["sortBy"] != null)
     {
         sortBy = request["sortBy"];
     }
     if (request["dir"] != null)
     {
         sortBy = request["dir"];
     }
     List<BProperty> properties = cateMgr.GetProperties(categoryId,0,sortBy,dir);
     PQGridData grid = new PQGridData();
     grid.curPage = 1;
     grid.totalRecords = properties.Count;
     grid.data = properties;
     message.Item = grid;
     message.Status="ok";
     return grid;
 }
コード例 #20
0
ファイル: ProductsController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage UpdateProduct()
        {
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            ApiMessage message = new ApiMessage();
            string user_id = User.Identity.Name;
            UserManager userMgr = new UserManager(int.Parse(user_id), null);
            BUser user = userMgr.CurrentUser;
            ProductManager pdtManager = new ProductManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            int product_id = 0;
            int categoryId = 0;
            string description = "";
            string props = "";
            string images = "";
            string title = "";
            int.TryParse(request["cid"], out categoryId);
            int.TryParse(request["product_id"],out product_id);
            description = request["desc"];
            title = request["title"];
            images = request["images"];
            props = request["props"];
            string suppliers = request["sids"];
            try
            {
                BProduct product = new BProduct();
                product.ID = product_id;
                product.Parent = null;
                product.Category = new BCategory() { ID = categoryId };
                product.Title = title;
                product.Description = description;
                product.Properties = null;
                product.FileRootPath = request.PhysicalApplicationPath;
                if (!string.IsNullOrEmpty(images))
                {
                    product.Images = new List<Image>();
                    string[] ims = images.Split(',');
                    foreach (string img in ims)
                    {
                        int image_id = 0;
                        int.TryParse(img,out image_id);
                        if (image_id > 0)
                        {
                            product.Images.Add(new Image() { ID = image_id });
                        }
                    }
                }

                if (!string.IsNullOrEmpty(suppliers))
                {
                    product.Suppliers = new List<Supplier>();
                    string[] sids = suppliers.Split(',');
                    foreach (string sid in sids)
                    {
                        product.Suppliers.Add(new Supplier() { Supplier_ID = int.Parse(sid), Enabled = true });
                    }
                }

                if (!string.IsNullOrEmpty(props))
                {
                    if (product.Children == null)
                    {
                        product.Children = new List<BProduct>();
                    }
                    string[] groups = props.Split(';');
                    foreach (string group in groups)
                    {
                        string groupp = group.Split('|')[1];
                        int pdtId = int.Parse(group.Split('|')[0]);
                        BProduct child = new BProduct();
                        child.ID = pdtId;
                        child.Title = product.Title;
                        child.Description = product.Description;
                        child.Category = product.Category;
                        List<BProductProperty> properties = new List<BProductProperty>();
                        string[] pops = groupp.Split(',');
                        foreach (string pop in pops)
                        {
                            BProductProperty prop = new BProductProperty();
                            prop.PID = int.Parse(pop.Split(':')[0]);
                            prop.PVID = int.Parse(pop.Split(':')[1]);
                            properties.Add(prop);
                        }
                        child.Properties = properties;
                        product.Children.Add(child);
                    }
                }

                pdtManager.UpdateProduct(ref product);
                message.Status = "ok";
                message.Item = product;
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = ex.Message;
            }
            return message;
        }
コード例 #21
0
ファイル: BuyController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage GetBuyPriceFullInfo()
        {
            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;
            BuyManager buyManager = new BuyManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            BBuyPrice buyPrice = null;
            int priceId = 0;
            try
            {
                int.TryParse(request["buy_price_id"], out priceId);
                if (priceId <= 0)
                {
                    message.Status = "failed";
                    message.Message = "没有输入询价单编号";
                    return message;
                }

                buyPrice = buyManager.GetBuyPriceFullInfo(priceId);

                if (buyPrice == null)
                {
                    message.Status = "failed";
                    message.Message = "询价单编号错误";
                    return message;
                }

                message.Item = buyPrice;
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException dbex)
            {
                message.Status = "failed";
                message.Message = dbex.Message;
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = ex.Message;
            }
            finally
            {

            }

            return message;
        }
コード例 #22
0
ファイル: ReportController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage GetExcelBuyReport()
        {
            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;
            ReportFactory reportManager = new ReportFactory(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            long stime = 0;
            long etime = 0;

            int totalProducts = 0;
            int[] product_id = null;

            long.TryParse(request["stime"], out stime);
            long.TryParse(request["etime"], out etime);

            if (!string.IsNullOrEmpty(request["products"]))
            {
                product_id = base.ConvertToIntArrar(request["products"]);
            }

            try
            {
                JToken[] json = reportManager.GetBuyReport(stime, etime, product_id, 0, 0, out totalProducts, false);
                if (json!=null)
                {
                    BuyExcelReport excel = new BuyExcelReport();
                    excel.Export(json);
                    message.Item = "http://" + request.Url.Authority + "/Content/reports/tmp/" + excel.ReportFileName;
                }
                else
                {
                    message.Status = "failed";
                    message.Message = "没有搜索到符合要求的采购数据";
                }
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "没有搜索到符合要求的采购数据";
            }
            finally
            {

            }
            return message;
        }
コード例 #23
0
ファイル: ProductsController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage VerifyOrder()
        {
            ApiMessage message = new ApiMessage();
            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;
            BuyManager buyManager = new BuyManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            try
            {
                int oid = 0;
                long comeDate = 0;
                string odetails = request["order_products"];
                string desc = request["description"];
                int.TryParse(request["oid"], out oid);

                if (!string.IsNullOrEmpty(request["comedate"]))
                {
                    comeDate = DateTimeUtil.ConvertDateTimeToInt(Convert.ToDateTime(request["comedate"]));
                }

                BBuy buy = new BBuy();
                buy.ID = 0;
                buy.Order = new BBuyOrder() { ID = oid };
                buy.ComeDate = comeDate;
                buy.Description = desc;
                buy.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                buy.Shop = new BShop() { ID = buyManager.Shop.Shop_ID };
                buy.User = new BUser() { ID = buyManager.CurrentUser.ID };

                if (!string.IsNullOrEmpty(odetails))
                {
                    odetails = HttpUtility.UrlDecode(odetails);
                    buy.Details = new List<BBuyDetail>();

                    JArray jsons = JArray.Parse(odetails);
                    if (jsons != null && jsons.Count > 0)
                    {

                        for (int i = 0; i < jsons.Count; i++)
                        {
                            JObject jOrder = (JObject)jsons[i];
                            int parent_product_id = (int)jOrder["product_id"];
                            JArray cjorders = (JArray)jOrder["orders"];

                            if (cjorders != null && cjorders.Count > 0)
                            {
                                for (int j = 0; j < cjorders.Count; j++)
                                {
                                    JObject json = (JObject)cjorders[j];
                                    BBuyDetail oDetail = new BBuyDetail();
                                    oDetail.Buy_Order_ID = oid;
                                    double price = 0;
                                    int quantity = 0;
                                    double.TryParse(json["price"].ToString(), out price);
                                    int.TryParse(json["quantity"].ToString(), out quantity);
                                    oDetail.Price = price;
                                    oDetail.Product = new BProduct() { ID = (int)json["child_id"] };
                                    oDetail.Quantity = quantity;

                                    if (quantity <= 0)
                                    {
                                        continue;
                                    }
                                    oDetail.Parent_Product_ID = parent_product_id;
                                    buy.Details.Add(oDetail);
                                }
                            }
                        }
                    }
                }

                bool result = buyManager.VerifyBuyOrder(buy);

                if (result)
                {
                    message.Status = "ok";
                }
                else
                {
                    message.Status = "failed";
                    message.Message = "验货单创建失败";
                }
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = ex.Message;
            }
            finally
            {

            }

            return message;
        }
コード例 #24
0
ファイル: ShopController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage UpdateShopContactInfo()
        {
            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 phone = request["phone"];
            string email = request["email"];
            string address = request["address"];
            string contact = request["contact"];
            int shop_id = 0;
            int.TryParse(request["shop_id"],out shop_id);
            try
            {
                shopManager.UpdateShopContactInfo(0, phone, address, contact, email);
            }
            catch (KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = "未知错误";
            }

            return message;
        }
コード例 #25
0
ファイル: BuyController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage CreateBuyPrice()
        {
            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;
            BuyManager buyManager = new BuyManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            try
            {
                string details = request["price_details"];
                string desc = request["desc"];
                string title = request["title"];
                int shopId = 0;
                int.TryParse(request["shop_id"], out shopId);
                if (!string.IsNullOrEmpty(details))
                {
                    details = HttpUtility.UrlDecode(details);
                }

                JArray jDetails = JArray.Parse(details);
                BBuyPrice buyPrice = new BBuyPrice() { Desc = desc, Title = title, Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now) };
                buyPrice.Shop = new BShop() { ID = buyManager.Shop.Shop_ID };
                if (shopId > 0)
                {
                    buyPrice.Shop = new BShop() { ID = shopId };
                }
                buyPrice.Details = new List<BBuyPriceDetail>();
                for (int i = 0; i < jDetails.Count(); i++)
                {
                    JObject jDetail = (JObject)jDetails[i];
                    BBuyPriceDetail bDetail = new BBuyPriceDetail();
                    bDetail.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                    bDetail.Price = (double)jDetail["price"];
                    bDetail.Product = new BProduct() { ID = (int)jDetail["sku_id"], ParentID = (int)jDetail["product_id"] };
                    bDetail.Supplier = new BSupplier() { ID = (int)jDetail["supplier_id"] };
                    buyPrice.Details.Add(bDetail);
                }

                bool result = buyManager.CreateBuyPrice(buyPrice);
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException dbex)
            {
                message.Status = "failed";
                message.Message = dbex.Message;
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Status = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "failed";
                message.Message = ex.Message;
            }
            finally
            {

            }

            return message;
        }
コード例 #26
0
ファイル: CategoriesController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage BatchUpdatePropertiesCategory()
        {
            ApiMessage message = new ApiMessage() { Status = "ok", Message = "" };
            string user_id = User.Identity.Name;
            UserManager userMgr = new UserManager(int.Parse(user_id), null);
            BUser user = userMgr.CurrentUser;
            Shop MainShop = userMgr.Main_Shop;
            ShopCategoryManager cateMgr = new ShopCategoryManager(userMgr.CurrentUser, MainShop, userMgr.CurrentUserPermission);

            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            int[] props = null;
            int category_id = 0;
            try
            {
                int.TryParse(request["category_id"],out category_id);
                props = base.ConvertToIntArrar(request["props"]);
                cateMgr.BatchUpdatePropertiesCategory(props, category_id);
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {

            }
            return message;
        }
コード例 #27
0
ファイル: HomeController.cs プロジェクト: Bobom/kuanmai
        public JsonResult SetTheme()
        {
            ApiMessage message = new ApiMessage() { Status = "ok" };
            JsonResult result = new JsonResult();
            string theme = "smoothness";
            if (!string.IsNullOrEmpty(Request["theme"]))
            {
                theme = Request["theme"];
            }

            string themePath = Request.PhysicalApplicationPath + "\\Third\\jqueryui\\1.11.0\\" + theme;
            if (!System.IO.Directory.Exists(themePath))
            {
                theme = "smoothness";
            }

            Session["theme"] = theme;
            result.Data = message;
            return result;
        }
コード例 #28
0
ファイル: CategoriesController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage CreateProperty()
        {
            BProperty property = new BProperty();
            ApiMessage message = new ApiMessage();
            string user_id = User.Identity.Name;
            UserManager userMgr = new UserManager(int.Parse(user_id), null);
            BUser user = userMgr.CurrentUser;
            Shop currentShop = userMgr.Shop;
            ShopCategoryManager cateMgr = new ShopCategoryManager(userMgr.CurrentUser, currentShop, userMgr.CurrentUserPermission);
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            string categoryId = request["category_id"];
            string propName = request["prop_name"];
            string propValue = request["prop_value"];
            List<string> propValues = new List<string>();
            if (!string.IsNullOrEmpty(propValue))
            {
                string[] vs = propValue.Split(',');
                if (vs != null && vs.Length > 0)
                {
                    for (int i = 0; i < vs.Length; i++)
                    {
                        propValues.Add(vs[i]);
                    }
                }
            }

            try
            {
                property = cateMgr.CreateProperty(int.Parse(categoryId), propName, propValues);
                message.Item = property;
                message.Status = "ok";
            }
            catch (KM.JXC.Common.KMException.KMJXCException ex)
            {
                message.Status = "failed";
                message.Message = ex.Message;
                message.Item = null;
            }
            catch (Exception nex)
            {

            }

            return message;
        }
コード例 #29
0
ファイル: ImageController.cs プロジェクト: Bobom/kuanmai
        public JsonResult Upload()
        {
            JsonResult res = new JsonResult();
            ApiMessage message = new ApiMessage() { Status = "ok" };
            int len = Request.Files["Filedata"].ContentLength;
            string name = Request.Files["Filedata"].FileName;
            string uid = Request["authid"];
            int user_id = 0;
            int.TryParse(uid,out user_id);

            //if (user_id <= 0) {
            //    message.Status = "failed";
            //    message.Message = "未登录用户不能上传图片";
            //    res.Data = message;
            //    return res;
            //}

            int size = len / (1024);

            if (size > 2 * 1024)
            {
                message.Status = "failed";
                message.Message = "上传的文件大小不能超过3M";
            }
            else
            {
                string user = HttpContext.User.Identity.Name;
                UserManager userMgr = new UserManager(int.Parse(user), null);
                ImageManager imgMgr = new ImageManager(userMgr.CurrentUser,userMgr.Shop,userMgr.CurrentUserPermission);
                string fileName = Path.GetFileName(name);
                string fileExt = Path.GetExtension(name);
                string newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + fileExt;
                string dir1 = DateTime.Now.ToString("yyyy");
                string dir2 = DateTime.Now.ToString("MM");
                string dir3 = DateTime.Now.ToString("dd");
                string dir4 = DateTime.Now.Hour.ToString();
                string rootPath=Request.PhysicalApplicationPath+@"Content\Uploads\Images";
                string absPath=@"/Content/Uploads/Images";
                string location = Path.Combine(rootPath, dir1, dir2, dir3, dir4);
                absPath = absPath + "/" + dir1 + "/" + dir2 + "/" + dir3 + "/" + dir4;
                if (!Directory.Exists(location))
                {
                    Directory.CreateDirectory(location);
                }

                KM.JXC.DBA.Image img = new KM.JXC.DBA.Image();
                img.UserID = user_id;
                img.ProductID = 0;
                img.Path = "";
                img.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                img.FileName = name;
                img.UserID = userMgr.CurrentUser.ID;
                imgMgr.CreateImage(img);

                System.Drawing.Image image = System.Drawing.Image.FromStream(Request.Files["Filedata"].InputStream);
                //if(image.Width>600){
                //    ImageUtil.ThumbPic(Request.Files["Filedata"].InputStream, 600, 0, location, fileName, true);
                //}

                ImageUtil.CutForCustom(Request.Files["Filedata"].InputStream, Path.Combine(location, newFileName), 600, 700, 80);

                if (System.IO.File.Exists(Path.Combine(location, newFileName)))
                {
                    img.Path = absPath + "/" + newFileName;
                }
                message.Status = "ok";
                message.Message = "succeed";
                imgMgr.UpdateImage(img);
                message.Item = img;
            }

            res.Data = message;
            return res;
        }
コード例 #30
0
ファイル: CategoriesController.cs プロジェクト: Bobom/kuanmai
        public ApiMessage DisableCategory()
        {
            ApiMessage message = new ApiMessage() { Status = "failed", Message = "" };
            string user_id = User.Identity.Name;
            UserManager userMgr = new UserManager(int.Parse(user_id), null);
            BUser user = userMgr.CurrentUser;
            Shop MainShop = userMgr.Main_Shop;
            ShopCategoryManager cateMgr = new ShopCategoryManager(userMgr.CurrentUser, MainShop, userMgr.CurrentUserPermission);

            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;
            int category_id = 0;
            int.TryParse(request["cid"],out category_id);
            try
            {
                if (cateMgr.DisableCategory(category_id))
                {
                    message.Status = "ok";
                }
                else
                {
                    message.Message = "操作失败";
                }
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {

            }
            return message;
        }