예제 #1
0
        public override OperationResult Create(FacilityInfo info)
        {
            OperationResult result = new OperationResult(OperationResultType.Error, "操作失败,请稍后重试!");
            using (var DbContext = new UCDbContext())
            {
                Facility entity = new Facility();
                DESwap.FacilityDTE(info, entity);
                FacilityRpt.Insert(DbContext, entity);

                /*关联功能是否为空*/
                if (info.FacilityFunctionInfoList != null)
                {
                    /*****新增列表*********/
                    List<FacilityFunction> insertlist = new List<FacilityFunction>();
                    /*****删除列表*********/
                    List<FacilityFunction> deletelist = new List<FacilityFunction>();

                    /*原有列表*/
                    var existlist = (from i in DbContext.FacilityFunction
                                     where i.FacilityId.Equals(info.Id)
                                     select i).ToList();

                    /*************如果为选中且没有关联表id则为新增******************/
                    foreach (var ffinfo in info.FacilityFunctionInfoList)
                    {
                        if (string.IsNullOrEmpty(ffinfo.Id) && ffinfo.Selected)
                        {
                            /*************如果为选中且没有关联表id则为新增******************/
                            ffinfo.Id = System.Guid.NewGuid().ToString();
                            ffinfo.FacilityId = info.Id;
                            FacilityFunction facilityFunction = new FacilityFunction();
                            DESwap.FacilityFunctionDTE(ffinfo, facilityFunction);
                            insertlist.Add(facilityFunction);
                        }
                        else if (!string.IsNullOrEmpty(ffinfo.Id) && ffinfo.Selected == false)
                        {
                            /*************如果为未选中且有关联表id则为删除******************/
                            var facilityFunction = existlist.Where(x => x.Id.Equals(ffinfo.Id)).FirstOrDefault();
                            if (facilityFunction == null)
                            {
                                deletelist.Add(facilityFunction);
                            }
                        }
                    }

                    FacilityFunctionRpt.Insert(DbContext, insertlist);
                    FacilityFunctionRpt.Delete(DbContext, deletelist);
                }

                DbContext.SaveChanges();

                result.ResultType = OperationResultType.Success;
                result.Message = "操作成功!";
                return result;
            }
        }
예제 #2
0
 public JsonResult DeleteFacility(string key)
 {
     FacilityInfo info = new FacilityInfo();
     if (!string.IsNullOrEmpty(key))
     {
         info.Id = key;
         OperationResult opr = FacilityService.Remove(key);
         return Json(new JsonResultHelper(opr.Message));
     }
     else
     {
         return Json(new JsonResultHelper(false, "选择的记录无效", ""));
     }
 }
예제 #3
0
 public virtual OperationResult Create(FacilityInfo info)
 {
     OperationResult result = new OperationResult(OperationResultType.Error, "操作失败,请稍后重试!");
     using (var DbContext = new UCDbContext())
     {
       Facility entity = new Facility();
       DESwap.FacilityDTE(info, entity);
       FacilityRpt.Insert(DbContext, entity);
       DbContext.SaveChanges();
     }
     result.ResultType = OperationResultType.Success;
     result.Message = "操作成功!";
     return result;
 }
예제 #4
0
 public JsonResult UpdateFacilityValid(string key, string validstatus)
 {
     FacilityInfo info = new FacilityInfo();
     if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(validstatus))
     {
         info.Id = key;
         info.SYS_IsValid = int.Parse(validstatus);
         OperationResult opr = FacilityService.Modify(info);
         return Json(new JsonResultHelper(opr.Message));
     }
     else
     {
         return Json(new JsonResultHelper(false, "选择的记录无效", ""));
     }
 }
예제 #5
0
        public ActionResult SaveFacility(FacilityInfo info)
        {
            OperationResult opr = new OperationResult(OperationResultType.Success);
            try
            {
                if (string.IsNullOrEmpty(info.Id))
                {
                    info.Id = System.Guid.NewGuid().ToString();
                    opr = FacilityService.Create(info);
                }
                else
                {
                    opr = FacilityService.Modify(info);

                }

                ViewBag.DicApp = PublicMethod.ListAllAppInfo(AppService, null);
                ViewBag.DicMenu = PublicMethod.ListAllMenuInfo(MenuService, null);

                ViewBag.PromptMsg = opr.Message;
            }
            catch (Exception err)
            {
                ViewBag.PromptMsg = err.Message;
            }

            return View("FacilityForm", info);
        }
예제 #6
0
        public ViewResult FacilityForm(string key)
        {
            ViewBag.Title = "FacilityForm";
            ViewBag.DicApp = PublicMethod.ListAllAppInfo(AppService, null);
            ViewBag.DicMenu = PublicMethod.ListAllMenuInfo(MenuService, null);

            /*所有功能*/
            NameValueCollection nvc = new NameValueCollection();
            nvc.Add("isvalid", "1");
            NameValueCollection orderby = new NameValueCollection();
            orderby.Add("functionname", "asc");
            List<FunctionInfo> fdatalist = FunctionService.ListAllByCondition(nvc, orderby);

            if (string.IsNullOrEmpty(key))
            {
                FacilityInfo info = new FacilityInfo();
                var ffdatalist = new List<FacilityFunctionInfo>();
                var datalist = (from f in fdatalist
                                join ff in ffdatalist on f.Id equals ff.FunctionId into templist
                                from tp in templist.DefaultIfEmpty()
                                select new FacilityFunctionInfo()
                                {
                                    Id = tp == null ? "" : tp.Id,
                                    FacilityId = tp == null ? "" : tp.FacilityId,
                                    FunctionId = f.Id,
                                    FunctionName = f.FunctionName,
                                    Selected = tp == null ? false : true

                                }).ToList();
                info.FacilityFunctionInfoList = datalist;
                return View(info);
            }
            else
            {
                FacilityInfo info = FacilityService.Load(key);
                var datalist = (from f in fdatalist
                                join ff in info.FacilityFunctionInfoList on f.Id equals ff.FunctionId into templist
                                from tp in templist.DefaultIfEmpty()
                                select new FacilityFunctionInfo()
                                {
                                    Id = tp == null ? "" : tp.Id,
                                    FacilityId = tp == null ? "" : tp.FacilityId,
                                    FunctionId = f.Id,
                                    FunctionName = f.FunctionName,
                                    Selected = tp == null ? false : true

                                }).ToList();
                info.FacilityFunctionInfoList = datalist;
                return View(info);
            }
        }
예제 #7
0
        /// <summary>
        /// 重载读取权限信息内容,加载关联的功能列表
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public override FacilityInfo Load(string key)
        {
            FacilityInfo info = new FacilityInfo();
            using (var DbContext = new UCDbContext())
            {
                Facility entity = FacilityRpt.Get(DbContext, key);
                if (info != null)
                {
                    DESwap.FacilityETD(entity, info);

                    /*******查询关联权限*******/
                    var fflist = (from i in DbContext.FacilityFunction
                                  where i.FacilityId.Equals(info.Id)
                                  select i).ToList();
                    info.FacilityFunctionInfoList = new List<FacilityFunctionInfo>();
                    fflist.ForEach(x =>
                    {
                        FacilityFunctionInfo ffinfo = new FacilityFunctionInfo();
                        DESwap.FacilityFunctionETD(x, ffinfo);
                        info.FacilityFunctionInfoList.Add(ffinfo);
                    });
                }

            }
            return info;
        }
예제 #8
0
파일: DESwap.cs 프로젝트: liurongjin/frame
        public static void FacilityETD(Facility entity, FacilityInfo info)
        {
            info.Id = entity.Id;
               info._IdIsDirty = 0;

               info.FacilityCode = entity.FacilityCode;
               info._FacilityCodeIsDirty = 0;

               info.FacilityName = entity.FacilityName;
               info._FacilityNameIsDirty = 0;

               info.MenuId = entity.MenuId;
               info._MenuIdIsDirty = 0;

               info.AppId = entity.AppId;
               info._AppIdIsDirty = 0;

               info.SYS_OrderSeq = entity.SYS_OrderSeq;
               info._SYS_OrderSeqIsDirty = 0;

               info.SYS_IsValid = entity.SYS_IsValid;
               info._SYS_IsValidIsDirty = 0;

               info.SYS_IsDeleted = entity.SYS_IsDeleted;
               info._SYS_IsDeletedIsDirty = 0;

               info.SYS_Remark = entity.SYS_Remark;
               info._SYS_RemarkIsDirty = 0;

               info.SYS_StaffId = entity.SYS_StaffId;
               info._SYS_StaffIdIsDirty = 0;

               info.SYS_StationId = entity.SYS_StationId;
               info._SYS_StationIdIsDirty = 0;

               info.SYS_DepartmentId = entity.SYS_DepartmentId;
               info._SYS_DepartmentIdIsDirty = 0;

               info.SYS_CompanyId = entity.SYS_CompanyId;
               info._SYS_CompanyIdIsDirty = 0;

               info.SYS_AppId = entity.SYS_AppId;
               info._SYS_AppIdIsDirty = 0;

               info.SYS_CreateTime = entity.SYS_CreateTime;
               info._SYS_CreateTimeIsDirty = 0;

               info.SYS_ModifyTime = entity.SYS_ModifyTime;
               info._SYS_ModifyTimeIsDirty = 0;

               info.SYS_DeleteTime = entity.SYS_DeleteTime;
               info._SYS_DeleteTimeIsDirty = 0;
        }
예제 #9
0
        public virtual List<FacilityInfo> ListAllByCondition(NameValueCollection searchCondtionCollection, NameValueCollection sortCollection)
        {
            List<Facility> list = null;

            using (var DbContext = new UCDbContext())
            {
            var query = from i in DbContext.Facility
                        select i;

            #region 条件
            foreach (string key in searchCondtionCollection)
            {
                string condition = searchCondtionCollection[key];
                switch (key.ToLower())
                {
                    case "isvalid":
                        int value = Convert.ToInt32(condition);
                        query = query.Where(x => x.SYS_IsValid.Equals(value));
                        break;
                    default:
                        break;
                }
            }
            #endregion

            #region 排序
            foreach (string sort in sortCollection)
            {
                string direct = string.Empty;
                switch (sort.ToLower())
                {
                    case "createtime":
                        if (direct.ToLower().Equals("asc"))
                        {
                            query = query.OrderBy(x => new { x.SYS_CreateTime });
                        }
                        else
                        {
                            query = query.OrderByDescending(x => new { x.SYS_CreateTime });
                        }
                        break;
                    default:
                        query = query.OrderByDescending(x => new { x.SYS_OrderSeq });
                        break;
                }
            }
               list = query.ToList();
            }
            #endregion
            #region linq to entity
            List<FacilityInfo> ilist = new List<FacilityInfo>();
            list.ForEach(x =>
            {
                FacilityInfo info = new FacilityInfo();
                DESwap.FacilityETD(x, info);
                ilist.Add(info);
            });
            #endregion

            return ilist;;
        }
예제 #10
0
 public virtual FacilityInfo Load(string key)
 {
     FacilityInfo info = new FacilityInfo();
     using (var DbContext = new UCDbContext())
     {
     Facility entity = FacilityRpt.Get(DbContext, key);
     DESwap.FacilityETD(entity,info);
     }
     return info;
 }