public ActionResult PaymentTypeList(ExpenseTypeSearchModel model)
        {
            IPropertyExpenseTypeBLL expenseTypeBll = BLLFactory <IPropertyExpenseTypeBLL> .GetBLL("PropertyExpenseTypeBLL");

            int PropertyPlaceId = GetSessionModel().PropertyPlaceId.Value;

            Expression <Func <T_PropertyExpenseType, bool> > where = u => u.PropertyPlaceId == PropertyPlaceId;
            //查询条件:是否固定
            if (model.IsFixed != null)
            {
                where = PredicateBuilder.And(where, u => u.IsFixed == model.IsFixed.Value);
            }
            //根据名称查询
            if (!string.IsNullOrEmpty(model.Kword))
            {
                where = PredicateBuilder.And(where, u => u.Name.Contains(model.Kword));
            }
            //排序
            var sortModel = this.SettingSorting("Id", false);

            //将查询到的数据赋值传到页面
            model.DataList    = expenseTypeBll.GetPageList(where, sortModel.SortName, sortModel.IsAsc, model.PageIndex) as PagedList <T_PropertyExpenseType>;
            model.IsFixedList = getTypeList(null);
            return(View(model));
        }
        public ActionResult AddPaymentType(PropertyExpenseTypeModel model)
        {
            JsonModel jm = new JsonModel();

            //如果表单模型验证成功
            if (ModelState.IsValid)
            {
                IPropertyExpenseTypeBLL propertyExpenseTypeBll = BLLFactory <IPropertyExpenseTypeBLL> .GetBLL("PropertyExpenseTypeBLL");

                T_PropertyExpenseType propertyExpenseType = new T_PropertyExpenseType()
                {
                    IsFixed         = model.IsFixed.Value,
                    Name            = model.Name,
                    Memo            = model.Memo,
                    PropertyPlaceId = GetSessionModel().PropertyPlaceId.Value
                };
                // 保存
                propertyExpenseTypeBll.Save(propertyExpenseType);

                //日志记录
                jm.Content = PropertyUtils.ModelToJsonString(model);
            }
            else
            {
                // 保存异常日志
                jm.Msg = ConstantParam.JSON_RESULT_MODEL_CHECK_ERROR;
            }
            return(Json(jm, JsonRequestBehavior.AllowGet));
        }
        public ActionResult DeletePaymentType(int id)
        {
            JsonModel jm = new JsonModel();
            IPropertyExpenseTypeBLL propertyExpenseTypeBll = BLLFactory <IPropertyExpenseTypeBLL> .GetBLL("PropertyExpenseTypeBLL");

            //获取要删除的类别
            T_PropertyExpenseType propertyExpense = propertyExpenseTypeBll.GetEntity(m => m.Id == id);

            if (propertyExpense == null)
            {
                jm.Msg = "该类别不存在";
            }
            else if (propertyExpense.PropertyExpenseNos.Count > 0 || propertyExpense.HouseUserExpenseTemplates.Count > 0 ||
                     propertyExpense.HouseUserExpenseDetails.Count > 0)
            {
                jm.Msg = "已有该类别的缴费相关记录,无法删除";
            }
            else
            {
                if (propertyExpenseTypeBll.Delete(propertyExpense))
                {
                    //操作日志
                    jm.Content = "删除缴费类别 " + propertyExpense.Name;
                }
                else
                {
                    jm.Msg = "删除失败";
                }
            }
            return(Json(jm, JsonRequestBehavior.AllowGet));
        }
        public ActionResult EditPaymentType(int id)
        {
            IPropertyExpenseTypeBLL propertyExpenseTypeBll = BLLFactory <IPropertyExpenseTypeBLL> .GetBLL("PropertyExpenseTypeBLL");

            //获取要编辑的类别
            T_PropertyExpenseType propertyExpenseType = propertyExpenseTypeBll.GetEntity(m => m.Id == id);

            if (propertyExpenseType != null)
            {
                //初始化返回页面的模型
                PropertyExpenseTypeModel model = new PropertyExpenseTypeModel()
                {
                    ExpenseTypeId = propertyExpenseType.Id,
                    IsFixed       = propertyExpenseType.IsFixed,
                    Name          = propertyExpenseType.Name,
                    Memo          = propertyExpenseType.Memo,
                    TypeList      = getTypeList(propertyExpenseType.IsFixed)
                };
                return(View(model));
            }
            else
            {
                return(RedirectToAction("PaymentTypeList"));
            }
        }
예제 #5
0
        /// <summary>
        /// 根据缴费类型得到缴费种类名称列表
        /// </summary>
        /// <param name="expenseClassId"></param>
        /// <returns></returns>
        public JsonResult AjaxGetExpenseTypes(int expenseClassId)
        {
            List <SelectListItem> unitList = new List <SelectListItem>();
            int currentPropertyPlaceId     = GetSessionModel().PropertyPlaceId.Value;

            IPropertyExpenseTypeBLL expenseTypeBll = FactoryBLL.BLLFactory <IPropertyExpenseTypeBLL> .GetBLL("PropertyExpenseTypeBLL");

            var units = expenseTypeBll.GetList(u => u.IsFixed == expenseClassId && u.PropertyPlaceId == currentPropertyPlaceId).OrderBy(e => e.Name).Select(e => new SelectListItem()
            {
                Text = e.Name, Value = e.Id.ToString()
            }).ToList();

            unitList.AddRange(units);

            return(Json(unitList));
        }
        public ContentResult RemoteCheckExist(string Name, int Id = 0)
        {
            int CurrentPlaceId = GetSessionModel().PropertyPlaceId.Value;
            IPropertyExpenseTypeBLL propertyExpenseTypeBll = BLLFactory <IPropertyExpenseTypeBLL> .GetBLL("PropertyExpenseTypeBLL");

            // 版本名称已存在
            if (propertyExpenseTypeBll.Exist(m => m.Name == Name && m.PropertyPlaceId == CurrentPlaceId && m.Id != Id))
            {
                // 校验不通过
                return(Content("false"));
            }
            else
            {
                return(Content("true"));
            }
        }
예제 #7
0
        /// <summary>
        /// 获取当前小区缴费种类下拉列表
        /// </summary>
        private List <SelectListItem> GetExpenseTypeList()
        {
            int CurrentPlaceId = GetSessionModel().PropertyPlaceId.Value;
            IPropertyExpenseTypeBLL expenseTypeBLL = BLLFactory <IPropertyExpenseTypeBLL> .GetBLL("PropertyExpenseTypeBLL");

            var sortModel = this.SettingSorting("Id", true);
            var list      = expenseTypeBLL.GetList(u => u.PropertyPlaceId == CurrentPlaceId, sortModel.SortName, sortModel.IsAsc);

            //转换为下拉列表并返回
            return(list.Select(m => new SelectListItem()
            {
                Text = m.Name,
                Value = m.Id.ToString(),
                Selected = false
            }).ToList());
        }
        public JsonResult EditPaymentType(PropertyExpenseTypeModel model)
        {
            JsonModel jm = new JsonModel();

            //如果表单模型验证成功
            if (ModelState.IsValid)
            {
                IPropertyExpenseTypeBLL propertyExpenseTypeBll = BLLFactory <IPropertyExpenseTypeBLL> .GetBLL("PropertyExpenseTypeBLL");

                T_PropertyExpenseType propertyExpenseType = propertyExpenseTypeBll.GetEntity(m => m.Id == model.ExpenseTypeId);
                if (propertyExpenseType != null)
                {
                    propertyExpenseType.IsFixed = model.IsFixed.Value;
                    propertyExpenseType.Name    = model.Name;
                    propertyExpenseType.Memo    = model.Memo;
                    //编辑
                    if (propertyExpenseTypeBll.Update(propertyExpenseType))
                    {
                        //日志记录
                        jm.Content = PropertyUtils.ModelToJsonString(model);
                    }
                    else
                    {
                        jm.Msg = "编辑失败";
                    }
                }
                else
                {
                    jm.Msg = "该类别不存在";
                }
            }
            else
            {
                jm.Msg = ConstantParam.JSON_RESULT_MODEL_CHECK_ERROR;
            }
            return(Json(jm, JsonRequestBehavior.AllowGet));
        }
예제 #9
0
        public ActionResult ExpenseSettings(ExpenseSettingsModel model)
        {
            var currentPropertyPlaceId = GetSessionModel().PropertyPlaceId.Value;

            if (model.NotificationDate == null)
            {
                model.NotificationDate = DateTime.Now.AddDays(1);
            }

            IBuildBLL buildBLL = BLLFactory <IBuildBLL> .GetBLL("BuildBLL");

            //绑定楼座下拉列表
            var buildList = buildBLL.GetList(b => b.PropertyPlaceId == currentPropertyPlaceId, "BuildName", true).ToList();

            model.BuildList = buildList.Select(b => new SelectListItem()
            {
                Text = b.BuildName, Value = b.Id.ToString()
            }).ToList();

            List <SelectListItem> unitList = new List <SelectListItem>();

            unitList.Add(new SelectListItem()
            {
                Text = "选择单元", Value = string.Empty
            });
            //绑定单元下拉列表
            if (model.BuildId > 0)
            {
                IBuildUnitBLL unitBll = FactoryBLL.BLLFactory <IBuildUnitBLL> .GetBLL("BuildUnitBLL");

                var units = unitBll.GetList(u => u.BuildId == model.BuildId).OrderBy(u => u.UnitName).Select(u => new SelectListItem()
                {
                    Text = u.UnitName, Value = u.Id.ToString(), Selected = (u.Id == model.UnitId)
                }).ToList();
                unitList.AddRange(units);
            }

            model.UnitList = unitList;

            //绑定缴费种类名称下拉列表
            IPropertyExpenseTypeBLL typeBLL = BLLFactory <IPropertyExpenseTypeBLL> .GetBLL("PropertyExpenseTypeBLL");

            model.ExpenseTypeList = typeBLL.GetList(t => t.IsFixed == model.ExpenseClassId && t.PropertyPlaceId == currentPropertyPlaceId).OrderBy(t => t.Name).Select(t => new SelectListItem()
            {
                Text = t.Name, Value = t.Id.ToString()
            }).ToList();

            //绑定缴费明细
            IBuildUnitBLL unitBLL = BLLFactory <IBuildUnitBLL> .GetBLL("BuildUnitBLL");

            if (model.BuildId > 0)
            {
                var unit = unitBLL.GetEntity(u => u.BuildId == model.BuildId && u.Id == model.UnitId);

                if (unit != null)
                {
                    var doorList = unit.BuildDoors.OrderBy(u => u.DoorName).ToList();
                    var doorIds  = doorList.Select(d => d.Id);

                    IHouseUserExpenseTemplateBLL expenseTemplateBLL = BLLFactory <IHouseUserExpenseTemplateBLL> .GetBLL("HouseUserExpenseTemplateBLL");

                    var allDoorExpenseByExpenseType = expenseTemplateBLL.GetList(e => e.ExpenseTypeId == model.ExpenseTypeId && e.BuildDoorId != null && doorIds.Contains(e.BuildDoorId.Value));

                    var houseUserExpenseTemplateList = new List <HouseUserExpenseTemplateModel>();

                    if (allDoorExpenseByExpenseType.Count() > 0)
                    {
                        var doorExpense = allDoorExpenseByExpenseType.FirstOrDefault();
                        model.ExpenseCircleId  = doorExpense.ExpenseCycleId;
                        model.NotificationDate = doorExpense.NotificationDate;
                    }

                    foreach (var door in doorList)
                    {
                        var houseUserExpenseTemplateModel = new HouseUserExpenseTemplateModel();

                        houseUserExpenseTemplateModel.DoorId   = door.Id;
                        houseUserExpenseTemplateModel.DoorName = door.DoorName;

                        var doorExpense = allDoorExpenseByExpenseType.FirstOrDefault(e => e.BuildDoorId == door.Id);
                        if (doorExpense != null)
                        {
                            houseUserExpenseTemplateModel.Expense = doorExpense.Expense.ToString();
                        }

                        houseUserExpenseTemplateList.Add(houseUserExpenseTemplateModel);
                    }

                    model.HouseUserExpenseTemplateList = houseUserExpenseTemplateList;
                }
            }

            return(View(model));
        }