public static void Init()
        {
            string sql       = "select a.*,b.dictkey as PDictKey from Dict_System a left join Dict_System b on a.pid=b.id";
            var    dbContext = DbContextFactory.CreateByModelNamespace(typeof(Dict_System).Namespace);

            listDictSystem = dbContext.Database.SqlQuery <DictSystemModel>(sql).ToList();
        }
Пример #2
0
        // GET: UserManage
        public ActionResult Index(string usertype = "1", string producttype = "0", string userlvl = "0")
        {
            ViewData["usertype"] = usertype;
            GetProductTypes(producttype);
            GetUserLvls(userlvl);

            SqlParameter[] parameters = new SqlParameter[0];
            string         sql        = "select * from Base_UserInfo where [State]=0 ";

            sql = sql + " and UserType=@userType";
            Array.Resize(ref parameters, parameters.Length + 1);
            parameters[parameters.Length - 1] = new SqlParameter("@userType", usertype);

            if (producttype != "0")
            {
                sql = sql + " and ProductType=@producttype";
                Array.Resize(ref parameters, parameters.Length + 1);
                parameters[parameters.Length - 1] = new SqlParameter("@producttype", producttype);
            }
            if (userlvl != "0")
            {
                sql = sql + " and UserLvl=@userlvl";
                Array.Resize(ref parameters, parameters.Length + 1);
                parameters[parameters.Length - 1] = new SqlParameter("@userlvl", userlvl);
            }

            var dbContext         = DbContextFactory.CreateByModelNamespace(typeof(Base_UserInfo).Namespace);
            var base_UserInfoList = dbContext.Database.SqlQuery <Base_UserInfo>(sql, parameters).ToList();

            return(View(base_UserInfoList));
        }
Пример #3
0
        public object GetUserGroupList(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg = string.Empty;
                string logId  = string.Empty;
                int    userId = (dicParas.ContainsKey("userId") && Utils.isNumber(dicParas["userId"])) ? Convert.ToInt32(dicParas["userId"]) : 0;

                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];
                if (userTokenKeyModel.LogType == (int)RoleType.MerchUser)
                {
                    logId = userTokenKeyModel.DataModel.MerchID;
                }

                //EF左关联
                var dbContext      = DbContextFactory.CreateByModelNamespace(typeof(Base_UserGroup).Namespace);
                var base_UserGroup = (from a in dbContext.Set <Base_UserGroup>()
                                      join b in dbContext.Set <Base_UserInfo>().Where(p => p.UserID == userId) on a.ID equals b.UserGroupID into t
                                      from b in t.DefaultIfEmpty()
                                      where a.MerchID.Equals(logId, StringComparison.OrdinalIgnoreCase)
                                      select new UserGroupModel
                {
                    ID = a.ID,
                    GroupName = a.GroupName,
                    Note = a.Note,
                    UserState = (b.UserID > 0 ? 1 : 0)
                }).ToList();

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn, base_UserGroup));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
        // GET: BidManage
        public ActionResult Index(string begin_time, string end_time, string producttype = "0")
        {
            if (string.IsNullOrEmpty(begin_time))
            {
                begin_time = DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd");
            }
            if (string.IsNullOrEmpty(end_time))
            {
                end_time = DateTime.Now.ToString("yyyy-MM-dd");
            }

            ViewData["SelectedProductType"] = producttype;
            GetProductTypes(producttype);
            ViewData["begin_time"] = begin_time;
            ViewData["end_time"]   = end_time;
            begin_time             = begin_time + " 00:00:00";
            end_time = end_time + " 23:59:59";

            SqlParameter[] parameters = new SqlParameter[2];
            parameters[0] = new SqlParameter("@begin_time", begin_time);
            parameters[1] = new SqlParameter("@end_time", end_time);
            string sql = "select * from Data_BidManage where BidDate > convert(datetime, @begin_time, 120) and BidDate < convert(datetime, @end_time, 120)";

            if (producttype != "0")
            {
                sql = sql + " and ProductType=@producttype";
                Array.Resize(ref parameters, parameters.Length + 1);
                parameters[parameters.Length - 1] = new SqlParameter("@producttype", producttype);
            }

            var dbContext     = DbContextFactory.CreateByModelNamespace(typeof(Data_BidManage).Namespace);
            var bidManageList = dbContext.Database.SqlQuery <Data_BidManage>(sql, parameters).ToList();

            return(View(bidManageList));
        }
Пример #5
0
        public string getMenu(int userId, string superName, int userType, string menuText, out int menuId)
        {
            menuId = 0;
            SqlParameter[] parameters = new SqlParameter[3];
            parameters[0] = new SqlParameter("@UserID", userId);
            parameters[1] = new SqlParameter("@SuperName", superName);
            parameters[2] = new SqlParameter("@UserType", userType);
            string sql       = "exec GetMenus @UserID,@SuperName,@UserType";
            var    dbContext = DbContextFactory.CreateByModelNamespace(typeof(Base_UserInfo).Namespace);
            var    menuList  = dbContext.Database.SqlQuery <DictFunctionsModel>(sql, parameters).ToList();

            if (menuList == null)
            {
                return("");
            }

            //用于获取主界面菜单ID
            var menu = menuList.Where(p => p.FunctionName.Equals(menuText, StringComparison.OrdinalIgnoreCase)).FirstOrDefault() ?? new DictFunctionsModel();

            menuId = menu.ID;

            JavaScriptSerializer jss = new JavaScriptSerializer();
            var js = jss.Serialize(menuList);

            return(js);
        }
        public string SaveParameters(string json)
        {
            //开启EF事务
            using (TransactionScope ts = new TransactionScope())
            {
                try
                {
                    //var dictParams = new Dictionary<string, object>((IDictionary<string, object>)Utils.DeserializeObject(json), StringComparer.OrdinalIgnoreCase);
                    var dictParams = (Dictionary <string, object>)Utils.DeserializeObject(json);
                    var dbContext  = DbContextFactory.CreateByModelNamespace(typeof(Data_Parameters).Namespace);
                    foreach (var item in dictParams)
                    {
                        var data_Parameter = dbContext.Set <Data_Parameters>().Where(p => p.ControlID.Equals(item.Key, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                        data_Parameter.ParameterValue         = item.Value.ToString();
                        dbContext.Entry(data_Parameter).State = System.Data.Entity.EntityState.Modified;
                    }

                    if (dbContext.SaveChanges() < 0)
                    {
                        return("保存失败");
                    }

                    ts.Complete();
                }
                catch (Exception ex)
                {
                    return(ex.Message);
                }
            }

            //更新缓存
            DataParameterBusiness.Init();

            return("保存成功");
        }
        // GET: NoticeManage
        public ActionResult Index(string begin_time, string end_time, string noticetype = "0")
        {
            if (string.IsNullOrEmpty(begin_time))
            {
                begin_time = DateTime.Now.ToString("yyyy-MM-dd");
            }
            if (string.IsNullOrEmpty(end_time))
            {
                end_time = DateTime.Now.ToString("yyyy-MM-dd");
            }

            GetNoticeTypes(noticetype);
            ViewData["begin_time"] = begin_time;
            ViewData["end_time"]   = end_time;
            begin_time             = begin_time + " 00:00:00";
            end_time = end_time + " 23:59:59";

            SqlParameter[] parameters = new SqlParameter[2];
            parameters[0] = new SqlParameter("@begin_time", begin_time);
            parameters[1] = new SqlParameter("@end_time", end_time);
            string sql = "select * from Flw_BiddingNotice where PublishTime > convert(datetime, @begin_time, 120) and PublishTime < convert(datetime, @end_time, 120)";

            if (noticetype != "0")
            {
                sql = sql + " and NoticeType=@noticetype";
                Array.Resize(ref parameters, parameters.Length + 1);
                parameters[parameters.Length - 1] = new SqlParameter("@noticetype", noticetype);
            }

            var dbContext         = DbContextFactory.CreateByModelNamespace(typeof(Flw_BiddingNotice).Namespace);
            var biddingNoticeList = dbContext.Database.SqlQuery <Flw_BiddingNotice>(sql, parameters).ToList();

            return(View(biddingNoticeList));
        }
        // GET: SmsManage
        public ActionResult Index(string begin_time, string end_time)
        {
            if (string.IsNullOrEmpty(begin_time))
            {
                begin_time = DateTime.Now.ToString("yyyy-MM-dd");
            }
            if (string.IsNullOrEmpty(end_time))
            {
                end_time = DateTime.Now.ToString("yyyy-MM-dd");
            }

            ViewData["begin_time"] = begin_time;
            ViewData["end_time"]   = end_time;
            begin_time             = begin_time + " 00:00:00";
            end_time = end_time + " 23:59:59";

            SqlParameter[] parameters = new SqlParameter[2];
            parameters[0] = new SqlParameter("@begin_time", begin_time);
            parameters[1] = new SqlParameter("@end_time", end_time);
            string sql = "select * from Data_SmsManage where CreateTime > convert(datetime, @begin_time, 120) and CreateTime < convert(datetime, @end_time, 120)";

            var dbContext        = DbContextFactory.CreateByModelNamespace(typeof(Data_SmsManage).Namespace);
            var dataSmsMangeList = dbContext.Database.SqlQuery <Data_SmsManage>(sql, parameters).ToList();

            return(View(dataSmsMangeList));
        }
Пример #9
0
        public static void Init()
        {
            string sql       = "select ID, ProductName from Base_ProductInfo";
            var    dbContext = DbContextFactory.CreateByModelNamespace(typeof(Base_ProductInfo).Namespace);

            listProductInfo = dbContext.Database.SqlQuery <Base_ProductInfo>(sql).ToList();
        }
        public ActionResult CreateProduct(string productName)
        {
            string errMsg = "添加成功";

            if (string.IsNullOrEmpty(productName))
            {
                errMsg = "产品名称不能为空";
                return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
            }

            //开启EF事务
            using (TransactionScope ts = new TransactionScope())
            {
                try
                {
                    IBase_ProductInfoService base_ProductInfoService = BLLContainer.Resolve <IBase_ProductInfoService>();
                    if (base_ProductInfoService.GetCount(p => p.ProductName.Equals(productName, StringComparison.OrdinalIgnoreCase)) > 0)
                    {
                        errMsg = "该产品名称已存在";
                        return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
                    }

                    var base_ProductInfo = new Base_ProductInfo();
                    base_ProductInfo.ProductName = productName;
                    if (!base_ProductInfoService.Add(base_ProductInfo))
                    {
                        errMsg = "数据库更新失败";
                        return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
                    }

                    var dbContext = DbContextFactory.CreateByModelNamespace(typeof(Base_ProductInfo).Namespace);
                    var userLvls  = DictSystemBusiness.GetDicts("客户等级");
                    foreach (var model in userLvls)
                    {
                        var base_ProductInfo_Detail = new Base_ProductInfo_Detail();
                        base_ProductInfo_Detail.UserLvl                = Convert.ToInt32(model.DictValue);
                        base_ProductInfo_Detail.ProductType            = base_ProductInfo.ID;
                        dbContext.Entry(base_ProductInfo_Detail).State = EntityState.Added;
                    }

                    if (dbContext.SaveChanges() < 0)
                    {
                        errMsg = "数据库更新失败";
                        return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
                    }

                    ts.Complete();
                }
                catch (Exception ex)
                {
                    return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = ex.Message }));
                }
            }

            //更新缓存
            ProductTypeBusiness.Init();

            return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
        }
Пример #11
0
        public object GetBindDeviceList(Dictionary <string, object> dicParas)
        {
            try
            {
                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];
                string storeId = (userTokenKeyModel.DataModel as UserDataModel).StoreID;

                string errMsg        = string.Empty;
                string type          = dicParas.ContainsKey("type") ? (dicParas["type"] + "") : string.Empty;
                string mcuId         = dicParas.ContainsKey("mcuId") ? (dicParas["mcuId"] + "") : string.Empty;
                var    bindDeviceIDs = dicParas.ContainsKey("bindDeviceIDs") ? ((object[])dicParas["bindDeviceIDs"]).Cast <int>() : null;

                if (!string.IsNullOrEmpty(type) && !Utils.isNumber(type))
                {
                    errMsg = "设备类型格式不正确";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                var dbContext           = DbContextFactory.CreateByModelNamespace(typeof(Base_UserInfo).Namespace);
                var data_Project_Device = from a in dbContext.Set <Data_Project_Device>()
                                          join b in dbContext.Set <Data_ProjectInfo>() on a.ProjectID equals b.ID
                                          where b.ProjectStatus == 1
                                          select a.DeviceID;
                var base_DeviceInfo = dbContext.Set <Base_DeviceInfo>().Where(p => p.DeviceStatus == (int)DeviceStatus.Normal && p.StoreID.Equals(storeId, StringComparison.OrdinalIgnoreCase) && !data_Project_Device.Contains(p.ID));
                if (!string.IsNullOrEmpty(type))
                {
                    int iType = Convert.ToInt32(type);
                    base_DeviceInfo = base_DeviceInfo.Where(w => w.type == iType);
                }
                if (!string.IsNullOrEmpty(mcuId))
                {
                    base_DeviceInfo = base_DeviceInfo.Where(w => w.MCUID.Contains(mcuId));
                }
                if (bindDeviceIDs != null)
                {
                    base_DeviceInfo = base_DeviceInfo.Where(w => !bindDeviceIDs.Contains(w.ID));
                }

                int DeviceTypeId = dbContext.Set <Dict_System>().Where(p => p.DictKey.Equals("设备类型")).FirstOrDefault().ID;
                var linq         = from a in base_DeviceInfo
                                   join b in dbContext.Set <Dict_System>().Where(p => p.PID == DeviceTypeId) on(a.type + "") equals b.DictValue into b1
                                   from b in b1.DefaultIfEmpty()
                                   select new
                {
                    ID         = a.ID,
                    DeviceName = a.DeviceName,
                    typeStr    = b != null ? b.DictKey : string.Empty,
                    MCUID      = a.MCUID
                };

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn, linq.ToList()));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #12
0
        public object DelStoreWeight(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg = string.Empty;
                string id     = dicParas.ContainsKey("id") ? (dicParas["id"] + "") : string.Empty;

                #region 验证参数
                if (string.IsNullOrEmpty(id))
                {
                    errMsg = "门店权重ID不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }
                #endregion

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        IBase_StoreWeightService base_StoreWeightService = BLLContainer.Resolve <IBase_StoreWeightService>();
                        int iId = Convert.ToInt32(id);
                        var base_StoreWeight = base_StoreWeightService.GetModels(p => p.ID == iId).FirstOrDefault();
                        if (!base_StoreWeightService.Delete(base_StoreWeight))
                        {
                            errMsg = "删除门店权重信息失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        var dbContext             = DbContextFactory.CreateByModelNamespace(typeof(Base_StoreWeight_Game).Namespace);
                        var base_StoreWeight_Game = dbContext.Set <Base_StoreWeight_Game>().Where(p => p.WeightID == iId).ToList();
                        foreach (var model in base_StoreWeight_Game)
                        {
                            dbContext.Entry(model).State = EntityState.Deleted;
                        }

                        if (dbContext.SaveChanges() < 0)
                        {
                            errMsg = "删除门店权重游戏机信息失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, ex.Message));
                    }
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
        // GET: ProductInfoManage
        public ActionResult Index()
        {
            var dbContext        = DbContextFactory.CreateByModelNamespace(typeof(ProductInfoDetailModel).Namespace);
            var productInfoModel = dbContext.Set <ProductInfoModel>().Include(m => m.ProductInfoDetails).ToList();

            //string sql = "select * from Base_ProductInfo a left join Base_ProductInfo_Detail b on a.ID=b.ProductType";
            //var productInfoModel = dbContext.Database.SqlQuery<ProductInfoModel>(sql).ToList();
            return(View(productInfoModel ?? new List <ProductInfoModel>()));
        }
        private List <Flw_BiddingInfo> getFlw_BiddingInfoList(int id)
        {
            var dbContext = DbContextFactory.CreateByModelNamespace(typeof(Data_BidManage).Namespace);

            return((from a in dbContext.Set <Flw_BiddingInfo>().Where(p => p.BidID == id)
                    join b in dbContext.Set <Base_UserInfo>() on a.UserID equals b.ID
                    orderby a.BidPrice descending, b.UserLvl, a.BidAmount descending, a.BidTime
                    select a).ToList());
        }
Пример #15
0
        public object DeleteRoot(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg = string.Empty;
                int    id     = (dicParas.ContainsKey("id") && Utils.isNumber(dicParas["id"])) ? Convert.ToInt32(dicParas["id"]) : 0;

                if (id == 0)
                {
                    errMsg = "选中节点id不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        var dbContext = DbContextFactory.CreateByModelNamespace(typeof(Dict_System).Namespace);
                        if (!dbContext.Set <Dict_System>().Any(p => p.ID == id))
                        {
                            errMsg = "选中节点数据库不存在";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        var dict_System = dbContext.Set <Dict_System>().Where(p => p.PID == id).ToList();
                        foreach (var item in dict_System)
                        {
                            dbContext.Entry(item).State = EntityState.Deleted;
                        }

                        var dict_SystemModel = dbContext.Set <Dict_System>().Where(p => p.ID == id).FirstOrDefault();
                        dbContext.Entry(dict_SystemModel).State = EntityState.Deleted;

                        if (dbContext.SaveChanges() < 0)
                        {
                            errMsg = "更新数据库失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, ex.Message));
                    }
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #16
0
        public object GetMerchList(Dictionary <string, object> dicParas)
        {
            try
            {
                string   errMsg     = string.Empty;
                object[] conditions = dicParas.ContainsKey("conditions") ? (object[])dicParas["conditions"] : null;
                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];

                //代理商仅能查所属商户,普通商户或大客户只能查自己,莘宸管理员可以查所有商户
                SqlParameter[] parameters = new SqlParameter[0];
                string         sqlWhere   = string.Empty;
                if (userTokenKeyModel.LogType == (int)RoleType.MerchUser)
                {
                    var merchIdDataModel = userTokenKeyModel.DataModel as MerchDataModel;
                    Array.Resize(ref parameters, parameters.Length + 1);
                    if (merchIdDataModel.MerchType == (int)MerchType.Agent)
                    {
                        parameters[parameters.Length - 1] = new SqlParameter("@logId", userTokenKeyModel.LogId);
                        sqlWhere = sqlWhere + " and a.CreateUserID=@logId";
                    }
                    else
                    {
                        parameters[parameters.Length - 1] = new SqlParameter("@merchId", merchIdDataModel.MerchID);
                        sqlWhere = sqlWhere + " and a.MerchID=@merchId";
                    }
                }

                if (conditions != null && conditions.Length > 0)
                {
                    if (!QueryBLL.GenDynamicSql(conditions, "a.", ref sqlWhere, ref parameters, out errMsg))
                    {
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }
                }

                string sql = @"select a.MerchID, a.MerchName, a.Mobil, b.DictKey as MerchTypeStr, a.MerchAccount, d.DictKey as AllowCreateSubStr, a.AllowCreateCount, c.DictKey as MerchStatusStr from Base_MerchantInfo a " +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='商户类别' and a.PID=0) b on convert(varchar, a.MerchType)=b.DictValue " +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='商户状态' and a.PID=0) c on convert(varchar, a.MerchStatus)=c.DictValue " +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='创建子账号' and a.PID=0) d on convert(varchar, a.AllowCreateSub)=d.DictValue " +
                             " where 1=1 ";
                sql = sql + sqlWhere;
                var dbContext         = DbContextFactory.CreateByModelNamespace(typeof(Base_MerchantInfo).Namespace);
                var base_MerchantInfo = dbContext.Database.SqlQuery <Base_MerchantInfoListModel>(sql, parameters).ToList();

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn, base_MerchantInfo));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
        public ActionResult DeleteProduct(int id)
        {
            string errMsg = "删除成功";

            //开启EF事务
            using (TransactionScope ts = new TransactionScope())
            {
                try
                {
                    IBase_ProductInfoService base_ProductInfoService = BLLContainer.Resolve <IBase_ProductInfoService>();
                    if (base_ProductInfoService.GetCount(p => p.ID == id) == 0)
                    {
                        errMsg = "该产品信息不存在";
                        return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
                    }

                    var base_ProductInfo = base_ProductInfoService.GetModels(p => p.ID == id).FirstOrDefault();
                    if (!base_ProductInfoService.Delete(base_ProductInfo))
                    {
                        errMsg = "数据库更新失败";
                        return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
                    }

                    IBase_ProductInfo_DetailService base_ProductInfo_DetailService = BLLContainer.Resolve <IBase_ProductInfo_DetailService>();
                    var dbContext = DbContextFactory.CreateByModelNamespace(typeof(Base_ProductInfo_Detail).Namespace);
                    var base_ProductInfo_Details = base_ProductInfo_DetailService.GetModels(p => p.ProductType == base_ProductInfo.ID).ToList();
                    foreach (var item in base_ProductInfo_Details)
                    {
                        dbContext.Entry(item).State = System.Data.Entity.EntityState.Deleted;
                    }

                    if (dbContext.SaveChanges() < 0)
                    {
                        errMsg = "数据库更新失败";
                        return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
                    }

                    ts.Complete();
                }
                catch (Exception ex)
                {
                    return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = ex.Message }));
                }
            }

            //更新缓存
            ProductTypeBusiness.Init();

            return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
        }
        public ActionResult UpdateLevel(List <ProductInfoDetailModel> productInfoDetails)
        {
            string errMsg = "更新等级成功";

            if (productInfoDetails == null)
            {
                errMsg = "上传数据不能为空";
                return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
            }

            try
            {
                var dbContext = DbContextFactory.CreateByModelNamespace(typeof(ProductInfoDetailModel).Namespace);
                foreach (var item in productInfoDetails)
                {
                    if (!item.CustomerUpper.HasValue)
                    {
                        errMsg = "客户上限不能为空";
                        return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
                    }

                    //if (!item.AreaUpper.HasValue)
                    //{
                    //    errMsg = "区域上限不能为空";
                    //    return RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg });
                    //}

                    if (item.ID <= 0)
                    {
                        errMsg = "产品信息ID不能为空";
                        return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
                    }

                    dbContext.Entry(item).State = EntityState.Modified;
                }

                if (dbContext.SaveChanges() < 0)
                {
                    errMsg = "数据库更新失败";
                    return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = ex.Message }));
            }

            return(RedirectToAction("Index", "ProductInfoManage", new { errMsg = errMsg }));
        }
Пример #19
0
        public object GetOrders(Dictionary <string, object> dicParas)
        {
            try
            {
                string   errMsg     = string.Empty;
                object[] conditions = dicParas.ContainsKey("conditions") ? (object[])dicParas["conditions"] : null;
                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];
                string merchId = userTokenKeyModel.DataModel.MerchID;

                SqlParameter[] parameters = new SqlParameter[1];
                parameters[0] = new SqlParameter("@merchId", merchId);
                string sqlWhere = string.Empty;

                if (conditions != null && conditions.Length > 0)
                {
                    if (!QueryBLL.GenDynamicSql(conditions, "b.", ref sqlWhere, ref parameters, out errMsg))
                    {
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }
                }

                string sql = @"select b.ID, a.StoreID, a.StoreName, b.OrderID, b.FoodCount, b.OrderSource, b.CreateTime, b.PayType, b.OrderStatus," +
                             " c.DictKey as OrderSourceStr, d.DictKey as PayTypeStr, e.DictKey as OrderStatusStr, f.FoodName from Base_StoreInfo a " +
                             " inner join Flw_Order b on a.StoreID=b.StoreID " +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='订单来源' and a.PID=0) c on convert(varchar, b.OrderSource)=c.DictValue " +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='支付通道' and a.PID=0) d on convert(varchar, b.PayType)=d.DictValue " +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='订单状态' and a.PID=0) e on convert(varchar, b.OrderStatus)=e.DictValue " +
                             " left join (select top 1 a.ID as OrderFlwID, d.FoodName from Flw_Order a inner join Flw_Order_Detail b on a.ID=b.OrderFlwID " +
                             " inner join Flw_Food_Sale c on b.FoodFlwID=c.ID " +
                             " inner join Data_FoodInfo d on c.FoodID=d.FoodID) f on b.ID=f.OrderFlwID " +
                             " where a.MerchID=@merchId ";
                sql = sql + sqlWhere;
                var dbContext  = DbContextFactory.CreateByModelNamespace(typeof(Flw_Order).Namespace);
                var flw_Orders = dbContext.Database.SqlQuery <Flw_OrdersModel>(sql, parameters).ToList();

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn, flw_Orders));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #20
0
        public object GetOrdersCheck(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg    = string.Empty;
                string checkDate = dicParas.ContainsKey("checkDate") ? dicParas["checkDate"].ToString() : string.Empty;
                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];
                string merchId = userTokenKeyModel.DataModel.MerchID;

                string sql        = " exec  GetOrdersCheck @CheckDate,@MerchId ";
                var    parameters = new SqlParameter[2];
                parameters[0] = new SqlParameter("@CheckDate", checkDate);
                parameters[1] = new SqlParameter("@MerchId", merchId);

                var dbContext      = DbContextFactory.CreateByModelNamespace(typeof(Flw_CheckDate).Namespace);
                var flw_OrderCheck = dbContext.Database.SqlQuery <Flw_OrderCheckModel>(sql, parameters).ToList();
                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn, flw_OrderCheck));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #21
0
        public object GetOrdersDetails(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg     = string.Empty;
                int    orderFlwId = (dicParas.ContainsKey("id") && Utils.isNumber(dicParas["id"])) ? Convert.ToInt32(dicParas["id"]) : 0;

                IFlw_OrderService flw_OrderService = BLLContainer.Resolve <IFlw_OrderService>();
                if (!flw_OrderService.Any(p => p.ID == orderFlwId))
                {
                    errMsg = "该订单不存在";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                SqlParameter[] parameters = new SqlParameter[1];
                parameters[0] = new SqlParameter("@id", orderFlwId);

                string sql = @"select d.*, e.StoreName, f.DictKey as FoodTypeStr, g.DictKey as RechargeTypeStr, h.DictKey as FoodStateStr from Flw_Order a" +
                             " inner join Flw_Order_Detail b on a.ID=b.OrderFlwID " +
                             " inner join Flw_Food_Sale c on b.FoodFlwID=c.ID " +
                             " inner join Data_FoodInfo d on c.FoodID=d.FoodID " +
                             " left join Base_StoreInfo e on d.StoreID=e.StoreID " +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='套餐类别' and a.PID=0) f on convert(varchar, d.FoodType)=f.DictValue " +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='充值方式' and a.PID=0) g on convert(varchar, d.RechargeType)=g.DictValue " +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='套餐状态' and a.PID=0) h on convert(varchar, d.FoodState)=h.DictValue " +
                             " where a.ID=@id ";
                var dbContext     = DbContextFactory.CreateByModelNamespace(typeof(Data_FoodInfo).Namespace);
                var data_FoodInfo = dbContext.Database.SqlQuery <Data_FoodInfoModel>(sql, parameters).ToList();

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn, data_FoodInfo));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #22
0
        public object SaveStoreWeightUserGameInfo(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg     = string.Empty;
                string storeId    = dicParas.ContainsKey("storeId") ? (dicParas["storeId"] + "") : string.Empty;
                string userId     = dicParas.ContainsKey("userId") ? (dicParas["userId"] + "") : string.Empty;
                string weightType = dicParas.ContainsKey("weightType") ? (dicParas["weightType"] + "") : string.Empty;
                var    gameIDs    = dicParas.ContainsKey("gameIDs") ? ((object[])dicParas["gameIDs"]).Cast <int>() : null;

                #region 验证参数
                if (string.IsNullOrEmpty(storeId))
                {
                    errMsg = "门店ID不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrEmpty(userId))
                {
                    errMsg = "门店老板ID不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrEmpty(weightType))
                {
                    errMsg = "门店权重类别不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }
                #endregion

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        IBase_StoreWeightService base_StoreWeightService = BLLContainer.Resolve <IBase_StoreWeightService>();
                        int iWeightType = Convert.ToInt32(weightType);
                        int iUserId     = Convert.ToInt32(userId);

                        if (!base_StoreWeightService.Any(a => a.StoreID.Equals(storeId, StringComparison.OrdinalIgnoreCase) && a.BossID == iUserId))
                        {
                            errMsg = "请先分配权重";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        var base_StoreWeight = base_StoreWeightService.GetModels(p => p.StoreID.Equals(storeId, StringComparison.OrdinalIgnoreCase) && p.BossID == iUserId).FirstOrDefault();
                        base_StoreWeight.WeightType = iWeightType;
                        if (!base_StoreWeightService.Update(base_StoreWeight))
                        {
                            errMsg = "保存权重用户游戏机信息失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        if (iWeightType == (int)ChainStoreWeightType.Game)
                        {
                            if (gameIDs == null)
                            {
                                errMsg = "选择的游戏机列表不能为空";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }

                            //先删除后添加
                            int iId                   = base_StoreWeight.ID;
                            var dbContext             = DbContextFactory.CreateByModelNamespace(typeof(Base_StoreWeight_Game).Namespace);
                            var base_StoreWeight_Game = dbContext.Set <Base_StoreWeight_Game>().Where(p => p.WeightID == iId).ToList();
                            foreach (var model in base_StoreWeight_Game)
                            {
                                dbContext.Entry(model).State = EntityState.Deleted;
                            }

                            foreach (var gId in gameIDs)
                            {
                                var base_StoreWeight_GameModel = new Base_StoreWeight_Game();
                                base_StoreWeight_GameModel.WeightID = iId;
                                base_StoreWeight_GameModel.GameID   = gId;
                                dbContext.Entry(base_StoreWeight_GameModel).State = EntityState.Added;
                            }

                            if (dbContext.SaveChanges() < 0)
                            {
                                errMsg = "保存权重用户游戏机信息失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        errMsg = ex.Message;
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #23
0
 public BaseDAL()
 {
     dbContext = DbContextFactory.CreateByModelNamespace(typeof(T).Namespace);
 }
Пример #24
0
        public object SaveUserInfo(Dictionary <string, object> dicParas)
        {
            string errMsg = string.Empty;
            int    userId, authorId;
            string workId     = dicParas.ContainsKey("workId") ? dicParas["workId"].ToString() : string.Empty;
            string state      = dicParas.ContainsKey("state") ? dicParas["state"].ToString() : string.Empty;
            string switchable = dicParas.ContainsKey("switchable") ? dicParas["switchable"].ToString() : string.Empty;
            string userType   = dicParas.ContainsKey("userType") ? dicParas["userType"].ToString() : string.Empty;
            string reason     = dicParas.ContainsKey("reason") ? dicParas["reason"].ToString() : string.Empty;
            string isAdmin    = dicParas.ContainsKey("isAdmin") ? dicParas["isAdmin"].ToString() : string.Empty;

            if (string.IsNullOrEmpty(state))
            {
                errMsg = "审核状态state参数不能为空";
                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
            }

            if (string.IsNullOrEmpty(userType))
            {
                errMsg = "用户类型userType参数不能为空";
                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
            }

            int iUserType = Convert.ToInt32(userType);

            if (state == ((int)WorkState.Pass).ToString()) //审核通过
            {
                if (!dicParas.ContainsKey("userGroup") || dicParas["userGroup"] == null)
                {
                    errMsg = "工作组userGroup参数不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!dicParas.ContainsKey("userGrant") || dicParas["userGrant"] == null)
                {
                    errMsg = "授权功能列表userGrant参数不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }
            }

            if (!checkParas(dicParas, out userId, out authorId, out errMsg))
            {
                LogHelper.SaveLog("错误:" + errMsg);
                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
            }

            //开启EF事务
            using (TransactionScope ts = new TransactionScope())
            {
                try
                {
                    if (state == ((int)WorkState.Pass).ToString()) //审核通过
                    {
                        //修改用户信息
                        Dictionary <string, object> userGroup             = new Dictionary <string, object>((IDictionary <string, object>)dicParas["userGroup"], StringComparer.OrdinalIgnoreCase);
                        IBase_UserGroupService      base_UserGroupService = BLLContainer.Resolve <IBase_UserGroupService>();
                        int ugid = Convert.ToInt32(userGroup["id"]);
                        if (!base_UserGroupService.Any(w => w.ID.Equals(ugid)))
                        {
                            errMsg = "工作组" + userGroup["groupName"] + "不存在";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        IBase_UserInfoService userInfoService = BLLContainer.Resolve <IBase_UserInfoService>();
                        var base_UserInfo = userInfoService.GetModels(p => p.UserID.Equals(userId)).FirstOrDefault <Base_UserInfo>();
                        base_UserInfo.UserGroupID = ugid;
                        base_UserInfo.Auditor     = authorId;
                        base_UserInfo.AuditorTime = DateTime.Now;
                        base_UserInfo.Status      = (int)UserStatus.Pass;
                        base_UserInfo.IsAdmin     = !string.IsNullOrEmpty(isAdmin) ? Convert.ToInt32(isAdmin) : (int?)null;
                        base_UserInfo.UserType    = Convert.ToInt32(userType);
                        base_UserInfo.Switchable  = !string.IsNullOrEmpty(switchable) ? Convert.ToInt32(switchable) : (int?)null;

                        string storeId = base_UserInfo.StoreID;
                        if (base_UserInfo.IsAdmin == 1 && userInfoService.Any(a => a.UserID != userId && a.IsAdmin == 1 && a.StoreID.Equals(storeId, StringComparison.OrdinalIgnoreCase)))
                        {
                            errMsg = "同一个门店只能有一个管理员";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        if (!userInfoService.Update(base_UserInfo))
                        {
                            errMsg = "修改用户信息失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        //添加或修改授权功能表
                        var dbContext = DbContextFactory.CreateByModelNamespace(typeof(Base_UserGrant).Namespace);
                        var userGrant = (object[])dicParas["userGrant"];
                        foreach (IDictionary <string, object> iUgr in userGrant)
                        {
                            if (iUgr != null)
                            {
                                var ugr   = new Dictionary <string, object>(iUgr, StringComparer.OrdinalIgnoreCase);
                                int ugrid = Convert.ToInt32(ugr["id"]);
                                if (!dbContext.Set <Base_UserGrant>().Any(w => w.GrantID.Value.Equals(ugrid) && w.UserID.Value.Equals(userId)))
                                {
                                    var base_UserGrant = new Base_UserGrant();
                                    base_UserGrant.GrantID = ugrid;
                                    base_UserGrant.UserID  = userId;
                                    base_UserGrant.GrantEN = Convert.ToInt32(ugr["grantEn"]);
                                    dbContext.Entry(base_UserGrant).State = EntityState.Added;
                                }
                                else
                                {
                                    var base_UserGrant = dbContext.Set <Base_UserGrant>().Where(p => p.GrantID == ugrid && p.UserID == userId).FirstOrDefault();
                                    base_UserGrant.GrantEN = Convert.ToInt32(ugr["grantEn"]);
                                    dbContext.Entry(base_UserGrant).State = EntityState.Modified;
                                }
                            }
                        }

                        if (dbContext.SaveChanges() < 0)
                        {
                            errMsg = "保存授权功能失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        //修改工单
                        IXC_WorkInfoService xC_WorkInfoService = BLLContainer.Resolve <IXC_WorkInfoService>();
                        var xC_WorkInfo = xC_WorkInfoService.GetModels(p => p.WorkID.ToString().Equals(workId, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <XC_WorkInfo>();
                        xC_WorkInfo.AuditorID = authorId;
                        xC_WorkInfo.AuditTime = DateTime.Now;
                        xC_WorkInfo.WorkState = (int)WorkState.Pass;
                        xC_WorkInfo.AuditBody = "审核通过";
                        xC_WorkInfo.WorkType  = (int)WorkType.UserCheck;
                        if (!xC_WorkInfoService.Update(xC_WorkInfo))
                        {
                            errMsg = "修改工单失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        //添加日志
                        ILog_OperationService log_OperationService = BLLContainer.Resolve <ILog_OperationService>();
                        var log_Operation = new Log_Operation();
                        log_Operation.UserID   = userId;
                        log_Operation.AuthorID = authorId;
                        log_Operation.Content  = "审核通过";
                        if (!log_OperationService.Add(log_Operation))
                        {
                            errMsg = "添加日志失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }
                    }
                    else if (state == ((int)WorkState.Reject).ToString()) //审核拒绝
                    {
                        //修改工单
                        IXC_WorkInfoService xC_WorkInfoService = BLLContainer.Resolve <IXC_WorkInfoService>();
                        var xC_WorkInfo = xC_WorkInfoService.GetModels(p => p.WorkID.ToString().Equals(workId, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <XC_WorkInfo>();
                        xC_WorkInfo.AuditorID = authorId;
                        xC_WorkInfo.AuditTime = DateTime.Now;
                        xC_WorkInfo.WorkState = (int)WorkState.Reject;
                        xC_WorkInfo.AuditBody = "拒绝理由:" + reason;
                        xC_WorkInfo.WorkType  = (int)WorkType.UserCheck;
                        if (!xC_WorkInfoService.Update(xC_WorkInfo))
                        {
                            errMsg = "修改工单失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        //添加日志
                        ILog_OperationService log_OperationService = BLLContainer.Resolve <ILog_OperationService>();
                        var log_Operation = new Log_Operation();
                        log_Operation.UserID   = userId;
                        log_Operation.AuthorID = authorId;
                        log_Operation.Content  = "拒绝理由:" + reason;
                        if (!log_OperationService.Add(log_Operation))
                        {
                            errMsg = "添加日志失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }
                    }
                    else
                    {
                        errMsg = "不明确的审核状态";
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }

                    ts.Complete();
                    return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
                }
                catch (Exception ex)
                {
                    LogHelper.SaveLog("错误:" + ex.Message);
                    return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, ex.Message));
                }
            }
        }
Пример #25
0
        public object DeleteUserGroup(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg  = string.Empty;
                string groupId = dicParas.ContainsKey("groupId") ? dicParas["groupId"].ToString() : string.Empty;

                //验证参数
                if (string.IsNullOrEmpty(groupId))
                {
                    errMsg = "工作组Id不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        IBase_UserGroupService base_UserGroupService = BLLContainer.Resolve <IBase_UserGroupService>();
                        var base_UserGroup = base_UserGroupService.GetModels(p => p.ID.ToString().Equals(groupId, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <Base_UserGroup>();
                        if (base_UserGroup == null)
                        {
                            errMsg = "该工作组不存在";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        if (!base_UserGroupService.Delete(base_UserGroup))
                        {
                            errMsg = "更新数据库失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        var dbContext             = DbContextFactory.CreateByModelNamespace(typeof(Base_UserGroup_Grant).Namespace);
                        var base_UserGroup_Grants = dbContext.Set <Base_UserGroup_Grant>().Where(p => p.GroupID.ToString().Equals(groupId, StringComparison.OrdinalIgnoreCase)).ToList();
                        foreach (var base_UserGroup_Grant in base_UserGroup_Grants)
                        {
                            dbContext.Entry(base_UserGroup_Grant).State = EntityState.Deleted;
                        }

                        if (dbContext.SaveChanges() < 0)
                        {
                            errMsg = "更新数据库失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, ex.Message));
                    }
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #26
0
        public object EditUserGroup(Dictionary <string, object> dicParas)
        {
            try
            {
                string   errMsg          = string.Empty;
                string   groupId         = dicParas.ContainsKey("groupId") ? dicParas["groupId"].ToString() : string.Empty;
                string   groupName       = dicParas.ContainsKey("groupName") ? dicParas["groupName"].ToString() : string.Empty;
                string   note            = dicParas.ContainsKey("note") ? dicParas["note"].ToString() : string.Empty;
                object[] userGroupGrants = dicParas.ContainsKey("userGroupGrants") ? (object[])dicParas["userGroupGrants"] : null;

                //验证参数
                if (string.IsNullOrEmpty(groupId))
                {
                    errMsg = "工作组Id不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrEmpty(groupName))
                {
                    errMsg = "工作组名称不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!string.IsNullOrEmpty(groupName) && groupName.Length > 50)
                {
                    errMsg = "工作组名称不能超过50字";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!string.IsNullOrEmpty(note) && note.Length > 500)
                {
                    errMsg = "工作组描述不能超过500字";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        IBase_UserGroupService base_UserGroupService = BLLContainer.Resolve <IBase_UserGroupService>();
                        var base_UserGroup = base_UserGroupService.GetModels(p => p.ID.ToString().Equals(groupId, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <Base_UserGroup>();
                        if (base_UserGroup == null)
                        {
                            errMsg = "该工作组不存在";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        base_UserGroup.GroupName = groupName;
                        base_UserGroup.Note      = note;
                        if (!base_UserGroupService.Update(base_UserGroup))
                        {
                            errMsg = "更新数据库失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        if (userGroupGrants != null && userGroupGrants.Count() >= 0)
                        {
                            var dbContext             = DbContextFactory.CreateByModelNamespace(typeof(Base_UserGroup_Grant).Namespace);
                            var base_UserGroup_Grants = dbContext.Set <Base_UserGroup_Grant>().Where(p => p.GroupID.ToString().Equals(groupId, StringComparison.OrdinalIgnoreCase)).ToList();
                            foreach (var base_UserGroup_Grant in base_UserGroup_Grants)
                            {
                                dbContext.Entry(base_UserGroup_Grant).State = EntityState.Deleted;
                            }

                            foreach (IDictionary <string, object> el in userGroupGrants)
                            {
                                if (el != null)
                                {
                                    var    dicPara              = new Dictionary <string, object>(el, StringComparer.OrdinalIgnoreCase);
                                    string functionId           = dicPara.ContainsKey("functionId") ? dicPara["functionId"].ToString() : string.Empty;
                                    string isAllow              = dicPara.ContainsKey("isAllow") ? dicPara["isAllow"].ToString() : string.Empty;
                                    var    base_UserGroup_Grant = new Base_UserGroup_Grant();
                                    base_UserGroup_Grant.FunctionID             = Convert.ToInt32(functionId);
                                    base_UserGroup_Grant.GroupID                = Convert.ToInt32(groupId);
                                    base_UserGroup_Grant.IsAllow                = Convert.ToInt32(isAllow);
                                    dbContext.Entry(base_UserGroup_Grant).State = EntityState.Added;
                                }
                                else
                                {
                                    errMsg = "提交数据包含空对象";
                                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                }
                            }

                            if (dbContext.SaveChanges() < 0)
                            {
                                errMsg = "更新数据库失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, ex.Message));
                    }
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #27
0
        public object AddUserGroup(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg = string.Empty;
                string logId  = string.Empty;

                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];

                if (userTokenKeyModel.LogType == (int)RoleType.MerchUser)
                {
                    logId = userTokenKeyModel.DataModel.MerchID;
                }

                string   groupName       = dicParas.ContainsKey("groupName") ? dicParas["groupName"].ToString() : string.Empty;
                string   note            = dicParas.ContainsKey("note") ? dicParas["note"].ToString() : string.Empty;
                object[] userGroupGrants = dicParas.ContainsKey("userGroupGrants") ? (object[])dicParas["userGroupGrants"] : null;

                //验证参数
                if (string.IsNullOrEmpty(groupName))
                {
                    errMsg = "工作组名称不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!string.IsNullOrEmpty(groupName) && groupName.Length > 50)
                {
                    errMsg = "工作组名称不能超过50字";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!string.IsNullOrEmpty(note) && note.Length > 500)
                {
                    errMsg = "工作组描述不能超过500字";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        IBase_UserGroupService base_UserGroupService = BLLContainer.Resolve <IBase_UserGroupService>();
                        var base_UserGroup = new Base_UserGroup {
                            GroupName = groupName, MerchID = logId, Note = note
                        };
                        if (!base_UserGroupService.Add(base_UserGroup))
                        {
                            errMsg = "更新数据库失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        if (userGroupGrants != null && userGroupGrants.Count() > 0)
                        {
                            var dbContext = DbContextFactory.CreateByModelNamespace(typeof(Base_UserGroup_Grant).Namespace);
                            foreach (IDictionary <string, object> el in userGroupGrants)
                            {
                                if (el != null)
                                {
                                    var    dicPara              = new Dictionary <string, object>(el, StringComparer.OrdinalIgnoreCase);
                                    string functionId           = dicPara.ContainsKey("functionId") ? dicPara["functionId"].ToString() : string.Empty;
                                    string isAllow              = dicPara.ContainsKey("isAllow") ? dicPara["isAllow"].ToString() : string.Empty;
                                    var    base_UserGroup_Grant = new Base_UserGroup_Grant {
                                        FunctionID = Convert.ToInt32(functionId), GroupID = base_UserGroup.ID, IsAllow = !string.IsNullOrEmpty(isAllow) ? Convert.ToInt32(isAllow) : default(int?)
                                    };
                                    dbContext.Entry(base_UserGroup_Grant).State = EntityState.Added;
                                }
                                else
                                {
                                    errMsg = "提交数据包含空对象";
                                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                }
                            }

                            if (dbContext.SaveChanges() < 0)
                            {
                                errMsg = "更新数据库失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, ex.Message));
                    }
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #28
0
        public object SaveProjectInfo(Dictionary <string, object> dicParas)
        {
            try
            {
                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];
                string storeId = (userTokenKeyModel.DataModel as UserDataModel).StoreID;

                string   errMsg         = string.Empty;
                string   id             = dicParas.ContainsKey("id") ? (dicParas["id"] + "") : string.Empty;
                string   projectName    = dicParas.ContainsKey("projectName") ? (dicParas["projectName"] + "") : string.Empty;
                string   projectStatus  = dicParas.ContainsKey("projectStatus") ? (dicParas["projectStatus"] + "") : string.Empty;
                string   feeType        = dicParas.ContainsKey("feeType") ? (dicParas["feeType"] + "") : string.Empty;
                string   feeCycle       = dicParas.ContainsKey("feeCycle") ? (dicParas["feeCycle"] + "") : string.Empty;
                string   feeDeposit     = dicParas.ContainsKey("feeDeposit") ? (dicParas["feeDeposit"] + "") : string.Empty;
                string   signOutEn      = dicParas.ContainsKey("signOutEn") ? (dicParas["signOutEn"] + "") : string.Empty;
                string   whenLock       = dicParas.ContainsKey("whenLock") ? (dicParas["whenLock"] + "") : string.Empty;
                string   regretTime     = dicParas.ContainsKey("regretTime") ? (dicParas["regretTime"] + "") : string.Empty;
                string   note           = dicParas.ContainsKey("note") ? (dicParas["note"] + "") : string.Empty;
                object[] bandPrices     = dicParas.ContainsKey("bandPrices") ? (object[])dicParas["bandPrices"] : null;
                object[] projectDevices = dicParas.ContainsKey("projectDevices") ? (object[])dicParas["projectDevices"] : null;
                int      iId            = 0;
                int.TryParse(id, out iId);

                #region 验证参数

                if (string.IsNullOrEmpty(projectName))
                {
                    errMsg = "项目名称不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrEmpty(projectStatus))
                {
                    errMsg = "项目状态不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrEmpty(feeType))
                {
                    errMsg = "计费方式不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (feeType == FeeType.Time.ToString())
                {
                    if (string.IsNullOrEmpty(feeCycle))
                    {
                        errMsg = "计费周期不能为空";
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }

                    if (string.IsNullOrEmpty(feeDeposit))
                    {
                        errMsg = "预收押金不能为空";
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }

                    if (Convert.ToInt32(feeCycle) < 0)
                    {
                        errMsg = "计费周期不能为负数";
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }

                    if (Convert.ToInt32(feeDeposit) < 0)
                    {
                        errMsg = "预收押金不能为负数";
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }
                }

                if (string.IsNullOrEmpty(signOutEn))
                {
                    errMsg = "是否需要签出不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrEmpty(whenLock))
                {
                    errMsg = "入场锁定不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!string.IsNullOrEmpty(regretTime) && Convert.ToInt32(regretTime) < 0)
                {
                    errMsg = "后悔时间不能为负数";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                #endregion

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        IData_ProjectInfoService data_ProjectInfoService = BLLContainer.Resolve <IData_ProjectInfoService>();
                        if (data_ProjectInfoService.Any(a => a.StoreID.Equals(storeId, StringComparison.OrdinalIgnoreCase) &&
                                                        a.ProjectName.Equals(projectName, StringComparison.OrdinalIgnoreCase) && a.ID != iId))
                        {
                            errMsg = "该项目名称已存在";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        var data_ProjectInfo = new Data_ProjectInfo();
                        data_ProjectInfo.ID            = iId;
                        data_ProjectInfo.ProjectName   = projectName;
                        data_ProjectInfo.ProjectStatus = Convert.ToInt32(projectStatus);
                        data_ProjectInfo.FeeType       = Convert.ToInt32(feeType);
                        data_ProjectInfo.FeeCycle      = !string.IsNullOrEmpty(feeCycle) ? Convert.ToInt32(feeCycle) : (int?)null;
                        data_ProjectInfo.FeeDeposit    = !string.IsNullOrEmpty(feeDeposit) ? Convert.ToInt32(feeDeposit) : (int?)null;
                        data_ProjectInfo.RegretTime    = !string.IsNullOrEmpty(regretTime) ? Convert.ToInt32(regretTime) : (int?)null;
                        data_ProjectInfo.SignOutEN     = Convert.ToInt32(signOutEn);
                        data_ProjectInfo.WhenLock      = Convert.ToInt32(whenLock);
                        data_ProjectInfo.Note          = note;
                        data_ProjectInfo.StoreID       = storeId;
                        if (!data_ProjectInfoService.Any(a => a.ID == iId))
                        {
                            //新增
                            if (!data_ProjectInfoService.Add(data_ProjectInfo))
                            {
                                errMsg = "添加门票项目信息失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }
                        else
                        {
                            //修改
                            if (!data_ProjectInfoService.Update(data_ProjectInfo))
                            {
                                errMsg = "修改门票项目信息失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }

                        iId = data_ProjectInfo.ID;

                        if (bandPrices != null && bandPrices.Count() >= 0)
                        {
                            //先删除已有数据,后添加
                            var dbContext = DbContextFactory.CreateByModelNamespace(typeof(Data_Project_BandPrice).Namespace);
                            var data_Project_BandPrice = dbContext.Set <Data_Project_BandPrice>().Where(p => p.ProjectID == iId).ToList();
                            foreach (var model in data_Project_BandPrice)
                            {
                                dbContext.Entry(model).State = EntityState.Deleted;
                            }

                            foreach (IDictionary <string, object> el in bandPrices)
                            {
                                if (el != null)
                                {
                                    var    dicPara        = new Dictionary <string, object>(el, StringComparer.OrdinalIgnoreCase);
                                    string memberLevelIDs = dicPara.ContainsKey("memberLevelIDs") ? dicPara["memberLevelIDs"].ToString() : string.Empty;
                                    string bandType       = dicPara.ContainsKey("bandType") ? dicPara["bandType"].ToString() : string.Empty;
                                    string bandCount      = dicPara.ContainsKey("bandCount") ? dicPara["bandCount"].ToString() : string.Empty;
                                    string bandPrice      = dicPara.ContainsKey("bandPrice") ? dicPara["bandPrice"].ToString() : string.Empty;
                                    if (string.IsNullOrEmpty(memberLevelIDs))
                                    {
                                        errMsg = "会员级别ID列表不能为空";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }
                                    if (!Utils.isNumber(bandType))
                                    {
                                        errMsg = "档位类别格式不正确";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }
                                    if (Convert.ToInt32(bandCount) < 0)
                                    {
                                        errMsg = "档位数量不能为负数";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }
                                    if (Convert.ToInt32(bandPrice) < 0)
                                    {
                                        errMsg = "档位价格不能为负数";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }

                                    List <string> memberLevelIDList = memberLevelIDs.Split('|').ToList();
                                    foreach (var memberLevelID in memberLevelIDList)
                                    {
                                        var data_Project_BandPriceModel = new Data_Project_BandPrice();
                                        data_Project_BandPriceModel.ProjectID              = iId;
                                        data_Project_BandPriceModel.MemberLevelID          = Convert.ToInt32(memberLevelID);
                                        data_Project_BandPriceModel.BandType               = Convert.ToInt32(bandType);
                                        data_Project_BandPriceModel.BandCount              = Convert.ToInt32(bandCount);
                                        data_Project_BandPriceModel.BandPrice              = Convert.ToInt32(bandPrice);
                                        dbContext.Entry(data_Project_BandPriceModel).State = EntityState.Added;
                                    }
                                }
                                else
                                {
                                    errMsg = "提交数据包含空对象";
                                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                }
                            }

                            if (dbContext.SaveChanges() < 0)
                            {
                                errMsg = "保存项目波段信息失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }

                        if (projectDevices != null && projectDevices.Count() >= 0)
                        {
                            //先删除已有数据,后添加
                            var dbContext           = DbContextFactory.CreateByModelNamespace(typeof(Data_Project_Device).Namespace);
                            var data_Project_Device = dbContext.Set <Data_Project_Device>().Where(p => p.ProjectID == iId).ToList();
                            foreach (var model in data_Project_Device)
                            {
                                dbContext.Entry(model).State = EntityState.Deleted;
                            }

                            foreach (IDictionary <string, object> el in projectDevices)
                            {
                                if (el != null)
                                {
                                    var    dicPara  = new Dictionary <string, object>(el, StringComparer.OrdinalIgnoreCase);
                                    string deviceId = dicPara.ContainsKey("deviceId") ? dicPara["deviceId"].ToString() : string.Empty;
                                    string bindType = dicPara.ContainsKey("bindType") ? dicPara["bindType"].ToString() : string.Empty;
                                    if (string.IsNullOrEmpty(deviceId))
                                    {
                                        errMsg = "设备ID不能为空";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }
                                    if (string.IsNullOrEmpty(bindType))
                                    {
                                        errMsg = "绑定类型不能为空";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }
                                    if (!Utils.isNumber(bindType))
                                    {
                                        errMsg = "绑定类型格式不正确";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }

                                    var data_Project_DeviceModel = new Data_Project_Device();
                                    data_Project_DeviceModel.DeviceID  = Convert.ToInt32(deviceId);
                                    data_Project_DeviceModel.BindType  = Convert.ToInt32(bindType);
                                    data_Project_DeviceModel.ProjectID = iId;
                                    dbContext.Entry(data_Project_DeviceModel).State = EntityState.Added;
                                }
                                else
                                {
                                    errMsg = "提交数据包含空对象";
                                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                }
                            }

                            if (dbContext.SaveChanges() < 0)
                            {
                                errMsg = "保存项目设备绑定信息失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }

                        //如果不需要签出,解绑签出设备
                        if (data_ProjectInfo.SignOutEN == 0)
                        {
                            var dbContext           = DbContextFactory.CreateByModelNamespace(typeof(Data_Project_Device).Namespace);
                            var data_Project_Device = dbContext.Set <Data_Project_Device>().Where(p => p.ProjectID == iId && p.BindType == (int)DeviceBindType.Out).ToList();
                            foreach (var model in data_Project_Device)
                            {
                                dbContext.Entry(model).State = EntityState.Deleted;
                            }

                            if (dbContext.SaveChanges() < 0)
                            {
                                errMsg = "解绑签出设备失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        errMsg = ex.Message;
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #29
0
        public object EditMerch(Dictionary <string, object> dicParas)
        {
            try
            {
                string   errMsg           = string.Empty;
                string   merchId          = dicParas.ContainsKey("merchId") ? dicParas["merchId"].ToString() : string.Empty;
                string   merchType        = dicParas.ContainsKey("merchType") ? dicParas["merchType"].ToString() : string.Empty;
                string   merchTag         = dicParas.ContainsKey("merchTag") ? dicParas["merchTag"].ToString() : string.Empty;
                string   merchStatus      = dicParas.ContainsKey("merchStatus") ? dicParas["merchStatus"].ToString() : string.Empty;
                string   merchAccount     = dicParas.ContainsKey("merchAccount") ? dicParas["merchAccount"].ToString() : string.Empty;
                string   merchName        = dicParas.ContainsKey("merchName") ? dicParas["merchName"].ToString() : string.Empty;
                string   openId           = dicParas.ContainsKey("openId") ? dicParas["openId"].ToString() : string.Empty;
                string   mobil            = dicParas.ContainsKey("mobil") ? dicParas["mobil"].ToString() : string.Empty;
                string   allowCreateSub   = dicParas.ContainsKey("allowCreateSub") ? dicParas["allowCreateSub"].ToString() : string.Empty;
                string   allowCreateCount = dicParas.ContainsKey("allowCreateCount") ? dicParas["allowCreateCount"].ToString() : string.Empty;
                string   comment          = dicParas.ContainsKey("comment") ? dicParas["comment"].ToString() : string.Empty;
                object[] merchFunction    = dicParas.ContainsKey("merchFunction") ? (object[])dicParas["merchFunction"] : null;
                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];
                string createUserId = userTokenKeyModel.LogId;
                int    logType      = userTokenKeyModel.LogType;

                #region 验证参数

                if (string.IsNullOrEmpty(merchId))
                {
                    errMsg = "商户编号不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrWhiteSpace(merchType))
                {
                    errMsg = "商户类型不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!Utils.isNumber(merchType))
                {
                    errMsg = "商户类别不是Int类型";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrWhiteSpace(merchStatus))
                {
                    errMsg = "商户状态不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!Utils.isNumber(merchStatus))
                {
                    errMsg = "商户状态不是Int类型";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrEmpty(merchTag))
                {
                    errMsg = "商户标签不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!Utils.isNumber(merchTag))
                {
                    errMsg = "商户标签不是Int类型";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrWhiteSpace(merchAccount))
                {
                    errMsg = "商户账号不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (merchAccount.Length > 100)
                {
                    errMsg = "商户账号不能超过100个字符";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrWhiteSpace(merchName))
                {
                    errMsg = "负责人不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (merchName.Length > 50)
                {
                    errMsg = "负责人名称不能超过50个字符";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrWhiteSpace(openId))
                {
                    errMsg = "请选择微信昵称";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (string.IsNullOrWhiteSpace(mobil))
                {
                    errMsg = "手机号不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!Utils.CheckMobile(mobil))
                {
                    errMsg = "手机号不正确";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!string.IsNullOrEmpty(allowCreateSub) && !Utils.isNumber(allowCreateSub))
                {
                    errMsg = "是否允许创建子账号不是Int类型";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!string.IsNullOrEmpty(allowCreateCount) && !Utils.isNumber(allowCreateCount))
                {
                    errMsg = "账号数量不是Int类型";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!string.IsNullOrEmpty(comment) && comment.Length > 500)
                {
                    errMsg = "备注不能超过500个字符";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                //获取用户基本信息
                string unionId = string.Empty;
                if (!TokenMana.GetUnionId(openId, out unionId, out errMsg))
                {
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                #endregion

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        IBase_MerchantInfoService base_MerchantInfoService = BLLContainer.Resolve <IBase_MerchantInfoService>();
                        if (base_MerchantInfoService.GetCount(p => !p.MerchID.Equals(merchId) && p.MerchAccount.Equals(merchAccount, StringComparison.OrdinalIgnoreCase)) > 0)
                        {
                            errMsg = "该商户账号名称已存在";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        var base_MerchantInfo = base_MerchantInfoService.GetModels(p => p.MerchID.Equals(merchId)).FirstOrDefault();
                        base_MerchantInfo.MerchType        = Convert.ToInt32(merchType);
                        base_MerchantInfo.MerchStatus      = Convert.ToInt32(merchStatus);
                        base_MerchantInfo.MerchAccount     = merchAccount;
                        base_MerchantInfo.MerchName        = merchName;
                        base_MerchantInfo.Mobil            = mobil;
                        base_MerchantInfo.WxOpenID         = openId;
                        base_MerchantInfo.WxUnionID        = unionId;
                        base_MerchantInfo.AllowCreateSub   = !string.IsNullOrEmpty(allowCreateSub) ? Convert.ToInt32(allowCreateSub) : default(int?);
                        base_MerchantInfo.AllowCreateCount = !string.IsNullOrEmpty(allowCreateCount) ? Convert.ToInt32(allowCreateCount) : default(int?);
                        base_MerchantInfo.CreateUserID     = createUserId;
                        base_MerchantInfo.CreateType       = (logType == (int)RoleType.XcUser || logType == (int)RoleType.XcAdmin) ? (int)CreateType.Xc : (logType == (int)RoleType.MerchUser ? (int)CreateType.Agent : 0);
                        base_MerchantInfo.Comment          = comment;
                        base_MerchantInfo.MerchTag         = Convert.ToInt32(merchTag);

                        if (!base_MerchantInfoService.Update(base_MerchantInfo))
                        {
                            errMsg = "修改商户信息失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        IBase_UserInfoService base_UserInfoService = BLLContainer.Resolve <IBase_UserInfoService>();
                        var base_UserInfo = base_UserInfoService.GetModels(p => p.OpenID.Equals(openId, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                        if (base_UserInfo == null)
                        {
                            base_UserInfo          = new Base_UserInfo();
                            base_UserInfo.OpenID   = openId;
                            base_UserInfo.UserType = Convert.ToInt32(merchType);
                            if (!base_UserInfoService.Add(base_UserInfo))
                            {
                                errMsg = "添加商户负责人信息失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }

                        if (merchFunction != null && merchFunction.Count() >= 0)
                        {
                            //先删除已有数据,后添加
                            var dbContext = DbContextFactory.CreateByModelNamespace(typeof(Base_MerchFunction).Namespace);
                            var base_MerchFunctionList = dbContext.Set <Base_MerchFunction>().Where(p => p.MerchID.Equals(merchId, StringComparison.OrdinalIgnoreCase)).ToList();
                            foreach (var base_MerchFunction in base_MerchFunctionList)
                            {
                                dbContext.Entry(base_MerchFunction).State = EntityState.Deleted;
                            }


                            foreach (IDictionary <string, object> el in merchFunction)
                            {
                                if (el != null)
                                {
                                    var    dicPara    = new Dictionary <string, object>(el, StringComparer.OrdinalIgnoreCase);
                                    string functionId = dicPara.ContainsKey("functionId") ? dicPara["functionId"].ToString() : string.Empty;
                                    string functionEn = dicPara.ContainsKey("functionEn") ? dicPara["functionEn"].ToString() : string.Empty;
                                    if (string.IsNullOrEmpty(functionId))
                                    {
                                        errMsg = "功能编号不能为空";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }
                                    if (!Utils.isNumber(functionId))
                                    {
                                        errMsg = "功能编号不是Int类型";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }
                                    if (!string.IsNullOrEmpty(functionEn) && !Utils.isNumber(functionEn))
                                    {
                                        errMsg = "功能启停不是Int类型";
                                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                    }
                                    var base_MerchFunction = new Base_MerchFunction();
                                    base_MerchFunction.MerchID                = merchId;
                                    base_MerchFunction.FunctionID             = Convert.ToInt32(functionId);
                                    base_MerchFunction.FunctionEN             = !string.IsNullOrEmpty(functionEn) ? Convert.ToInt32(functionEn) : default(int?);
                                    dbContext.Entry(base_MerchFunction).State = EntityState.Added;
                                }
                                else
                                {
                                    errMsg = "提交数据包含空对象";
                                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                                }
                            }

                            if (dbContext.SaveChanges() < 0)
                            {
                                errMsg = "保存商户功能菜单信息失败";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        errMsg = ex.Message;
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }
                }

                //更新缓存
                MerchBusiness.Init();

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Пример #30
0
        public object DeleteProjectInfo(Dictionary <string, object> dicParas)
        {
            try
            {
                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];
                string storeId = (userTokenKeyModel.DataModel as UserDataModel).StoreID;

                string errMsg     = string.Empty;
                string projectIds = dicParas.ContainsKey("projectIds") ? (dicParas["projectIds"] + "") : string.Empty;

                if (string.IsNullOrEmpty(projectIds))
                {
                    errMsg = "项目ID不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        var           dbContext     = DbContextFactory.CreateByModelNamespace(typeof(Data_ProjectInfo).Namespace);
                        List <string> projectIdList = projectIds.Split('|').ToList();
                        foreach (var projectId in projectIdList)
                        {
                            if (string.IsNullOrEmpty(projectId))
                            {
                                errMsg = "项目ID不能为空";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }

                            if (!Utils.isNumber(projectId))
                            {
                                errMsg = "项目ID格式不正确";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }

                            int iProjectId            = Convert.ToInt32(projectId);
                            var data_ProjectInfoModel = dbContext.Set <Data_ProjectInfo>().Where(p => p.ID == iProjectId).FirstOrDefault();
                            if (data_ProjectInfoModel == null)
                            {
                                errMsg = "项目ID" + projectId + "不存在";
                                return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                            }

                            data_ProjectInfoModel.ProjectStatus          = 0; //停用
                            dbContext.Entry(data_ProjectInfoModel).State = EntityState.Modified;
                        }

                        if (dbContext.SaveChanges() < 0)
                        {
                            errMsg = "删除项目失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        errMsg = ex.Message;
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }