public ActionResult DelCostChannelModel(long id, int isValid)
        {
            var resultMode = new ResponseBaseModel <dynamic>
            {
                ResultCode = ResponceCodeEnum.Success,
                Message    = "响应成功"
            };
            var userId   = CurrentModel.UserId;
            var server   = new CostChannelService();
            var oldModel = server.Get(id);

            if (oldModel == null || oldModel.UserId != userId)
            {
                resultMode.ResultCode = ResponceCodeEnum.Fail;
                resultMode.Message    = "参数错误";
                return(Json(resultMode, JsonRequestBehavior.AllowGet));
            }

            oldModel.IsDel        = FlagEnum.HadZore;
            oldModel.IsValid      = EnumHelper.GetEnumByValue <FlagEnum>(isValid);
            oldModel.UpdateUserId = userId;
            oldModel.UpdateTime   = DateTime.Now;
            try
            {
                server.SaveModel(oldModel);
            }
            catch (Exception e)
            {
                Trace.WriteLine(e);
            }
            return(Json(resultMode, JsonRequestBehavior.AllowGet));
        }
        public ActionResult InitCostChannelModel()
        {
            var resultMode = new ResponseBaseModel <dynamic>
            {
                ResultCode = ResponceCodeEnum.Success,
                Message    = "响应成功"
            };
            var userId    = CurrentModel.UserId;
            var server    = new CostChannelService();
            var modelList = server.GetList(-1, new List <long> {
                userId
            }, 1, 10, out _);

            if (modelList != null && modelList.Count > 0)
            {
                resultMode.ResultCode = ResponceCodeEnum.Fail;
                resultMode.Message    = "已经初始化过";
                return(Json(resultMode, JsonRequestBehavior.AllowGet));
            }
            server.InitCostChannel(userId);

            resultMode.ResultCode = ResponceCodeEnum.Success;
            resultMode.Message    = "初始化成功";
            return(Json(resultMode, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetCostChannelPage(int pageIndex = 1, int pageSize = 10, string name = "", int isValid = -1)
        {
            var resultMode = new ResponseBaseModel <dynamic>
            {
                ResultCode = ResponceCodeEnum.Fail,
                Message    = ""
            };
            var userId = CurrentModel.UserId;

            if (userId < 1)
            {
                resultMode.Message = "登录失效,请重新登录";
            }
            else
            {
                var server   = new CostChannelService();
                var dataList = server.GetList(isValid, new List <long> {
                    userId
                }, pageIndex, pageSize, out var count, name);
                resultMode.Data       = new { count, dataList };
                resultMode.ResultCode = ResponceCodeEnum.Success;
            }

            return(Json(resultMode, JsonRequestBehavior.AllowGet));
        }
        public ActionResult SaveCostChannelInfo(long id, string costChannelName, string costChannelNo, int sort, int isValid)
        {
            var resultMode = new ResponseBaseModel <dynamic>
            {
                ResultCode = ResponceCodeEnum.Fail,
            };

            if (string.IsNullOrEmpty(costChannelName))
            {
                resultMode.Message = "名称不能为空";
                return(Json(resultMode, JsonRequestBehavior.AllowGet));
            }

            var userId = CurrentModel.UserId;
            var server = new CostChannelService();
            CostChannelModel newModel = new CostChannelModel();

            if (id > 0)
            {
                newModel = server.Get(id);
                //验证权限
                if (newModel == null || newModel.UserId != userId)
                {
                    resultMode.Message = "非法访问";
                    return(Json(resultMode, JsonRequestBehavior.AllowGet));
                }
            }
            //验证参数
            newModel.Id              = id;
            newModel.IsDel           = FlagEnum.HadZore;
            newModel.IsValid         = EnumHelper.GetEnumByValue <FlagEnum>(isValid);
            newModel.CostChannelName = costChannelName;
            newModel.CostChannelNo   = costChannelNo;
            newModel.UserId          = userId;
            newModel.CreateTime      = newModel.CreateTime < new DateTime(1900, 1, 1) ? DateTime.Now : newModel.CreateTime;
            newModel.CreateUserId    = newModel.CreateUserId < 1 ? userId : newModel.CreateUserId;
            newModel.Sort            = sort;
            newModel.UpdateTime      = DateTime.Now;
            newModel.UpdateUserId    = userId;

            var costTypeInfoList = server.GetList(costChannelName, userId);

            if (costTypeInfoList != null &&
                (costTypeInfoList.Count > 1 || costTypeInfoList.Count == 1 && costTypeInfoList[0].Id != id))
            {
                resultMode.Message = "账号名称已经存在";
                return(Json(resultMode, JsonRequestBehavior.AllowGet));
            }
            server.SaveModel(newModel);
            resultMode.ResultCode = ResponceCodeEnum.Success;
            return(Json(resultMode, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetCostChannel()
        {
            var resultMode = new ResponseBaseModel <dynamic>
            {
                ResultCode = ResponceCodeEnum.Fail,
                Message    = ""
            };
            var server = new CostChannelService();
            var userId = CurrentModel.UserId;
            var data   = server.GetList(FlagEnum.HadOne.GetHashCode(), new List <long> {
                userId
            }, 1, 100000, out _);

            resultMode.Data       = data;
            resultMode.ResultCode = ResponceCodeEnum.Success;
            return(Json(resultMode, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetCostChannelModel(long id)
        {
            var resultMode = new ResponseBaseModel <dynamic>
            {
                ResultCode = ResponceCodeEnum.Fail,
                Message    = ""
            };
            var server = new CostChannelService();
            var userId = CurrentModel.UserId;
            var data   = server.Get(id);

            if (data != null && data.UserId == userId)
            {
                resultMode.Data       = data;
                resultMode.ResultCode = ResponceCodeEnum.Success;
                return(Json(resultMode, JsonRequestBehavior.AllowGet));
            }
            resultMode.Message = "查询失败";
            return(Json(resultMode, JsonRequestBehavior.AllowGet));
        }
        public ActionResult AddCostInfo(CostContentModel model)
        {
            var resultMode = new ResponseBaseModel <dynamic>
            {
                ResultCode = ResponceCodeEnum.Fail,
            };

            if (model == null)
            {
                resultMode.Message = "参数错误";
                return(Json(resultMode, JsonRequestBehavior.AllowGet));
            }

            var userId = CurrentModel.UserId;
            var server = new CostContentService();
            CostContentModel newModel = new CostContentModel();

            if (model.Id > 0)
            {
                newModel = server.GetContentModel(model.Id);
                //验证权限
                if (newModel == null || newModel.UserId != userId)
                {
                    resultMode.Message = "非法访问";
                    return(Json(resultMode, JsonRequestBehavior.AllowGet));
                }

                if (newModel.SpendType == 2 && (model.SpendType != 2 || model.LinkCostId < 0))
                {
                    resultMode.Message = "转移记录类型不能修改或无关联入账信息";
                    return(Json(resultMode, JsonRequestBehavior.AllowGet));
                }

                if (newModel.SpendType == 2 && newModel.CostInOrOut == CostInOrOutEnum.In)
                {
                    resultMode.Message = "转移记录入账信息不能修改";
                    return(Json(resultMode, JsonRequestBehavior.AllowGet));
                }
            }
            //验证参数
            newModel.Cost            = Math.Round(Math.Abs(model.Cost), 2);
            newModel.CostAddress     = model.CostAddress;
            newModel.CostChannel     = model.CostChannel;
            newModel.CostType        = model.SpendType == 2 ? -1 : model.CostType;
            newModel.UserId          = userId;
            newModel.CostInOrOut     = model.CostInOrOut;
            newModel.CostThing       = model.CostThing;
            newModel.CostTime        = model.CostTime;
            newModel.CostMonth       = newModel.CostTime.Month;
            newModel.CostYear        = newModel.CostTime.Year;
            newModel.CreateTime      = newModel.Id > 0 ? newModel.CreateTime : DateTime.Now;
            newModel.CreateUserId    = userId;
            newModel.SpendType       = model.SpendType;
            newModel.UpdateTime      = DateTime.Now;
            newModel.UpdateUserId    = userId;
            newModel.LinkCostChannel = model.LinkCostChannel;
            newModel.IsDel           = FlagEnum.HadZore;
            if (newModel.Cost < (decimal)0.01)
            {
                resultMode.Message = "金额设置错误";
                return(Json(resultMode, JsonRequestBehavior.AllowGet));
            }

            if (model.SpendType != 2)
            {
                var costTypeInfo = new CostTypeService().Get(newModel.CostType);
                if (costTypeInfo == null ||
                    costTypeInfo.UserId != userId ||
                    costTypeInfo.IsDel == FlagEnum.HadOne ||
                    costTypeInfo.IsValid == FlagEnum.HadZore)
                {
                    resultMode.Message = "类型选择无效";
                    return(Json(resultMode, JsonRequestBehavior.AllowGet));
                }
                newModel.CostTypeName = costTypeInfo.Name;
            }

            var costChannelServer = new CostChannelService();
            var costChannelInfo   = costChannelServer.Get(newModel.CostChannel);

            if (costChannelInfo == null ||
                costChannelInfo.UserId != userId ||
                costChannelInfo.IsDel == FlagEnum.HadOne ||
                costChannelInfo.IsValid == FlagEnum.HadZore)
            {
                resultMode.Message = "账户选择无效";
                return(Json(resultMode, JsonRequestBehavior.AllowGet));
            }
            newModel.CostChannelName = costChannelInfo.CostChannelName;
            newModel.CostChannelNo   = costChannelInfo.CostChannelNo;
            newModel.CostInOrOut     = newModel.SpendType == 1 ? CostInOrOutEnum.In : CostInOrOutEnum.Out;

            if (newModel.SpendType == 2)
            {
                if (newModel.LinkCostChannel < 1)
                {
                    resultMode.Message = "转入账户无效";
                    return(Json(resultMode, JsonRequestBehavior.AllowGet));
                }
                var linkChannelInfo = costChannelServer.Get(newModel.LinkCostChannel);
                if (linkChannelInfo == null ||
                    linkChannelInfo.UserId != userId ||
                    linkChannelInfo.IsDel == FlagEnum.HadOne ||
                    linkChannelInfo.IsValid == FlagEnum.HadZore)
                {
                    resultMode.Message = "转入账户无效";
                    return(Json(resultMode, JsonRequestBehavior.AllowGet));
                }

                newModel.LinkCostChannelName = linkChannelInfo.CostChannelName;
                newModel.LinkCostChannelNo   = linkChannelInfo.CostChannelNo;
            }
            else
            {
                newModel.LinkCostChannel     = 0;
                newModel.LinkCostId          = 0;
                newModel.LinkCostChannelNo   = "";
                newModel.LinkCostChannelName = "";
            }
            var costContentServer = new CostContentService();

            costContentServer.AddAndUpdateContentInfo(newModel);
            resultMode.ResultCode = ResponceCodeEnum.Success;
            return(Json(resultMode, JsonRequestBehavior.AllowGet));
        }