Beispiel #1
0
        public override OperationResult Create(StaffInfo info)
        {
            OperationResult result = new OperationResult(OperationResultType.Error, "操作失败,请稍后重试!");
            using (var DbContext = new UCDbContext())
            {
                Staff entity = new Staff();
                DESwap.StaffDTE(info, entity);
                StaffRpt.Insert(DbContext, entity);

                /*关联角色是否为空*/
                if (info.StaffStationInfoList != null)
                {
                    /*****新增列表*********/
                    List<StaffStation> insertlist = new List<StaffStation>();
                    /*****删除列表*********/
                    List<StaffStation> deletelist = new List<StaffStation>();

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

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

                    StaffStationRpt.Insert(DbContext, insertlist);
                    StaffStationRpt.Delete(DbContext, deletelist);
                }
                DbContext.SaveChanges();

                result.ResultType = OperationResultType.Success;
                result.Message = "操作成功!";
                return result;
            }
        }
Beispiel #2
0
 public virtual OperationResult Create(StaffInfo info)
 {
     OperationResult result = new OperationResult(OperationResultType.Error, "操作失败,请稍后重试!");
     using (var DbContext = new UCDbContext())
     {
       Staff entity = new Staff();
       DESwap.StaffDTE(info, entity);
       StaffRpt.Insert(DbContext, entity);
       DbContext.SaveChanges();
     }
     result.ResultType = OperationResultType.Success;
     result.Message = "操作成功!";
     return result;
 }
Beispiel #3
0
        /// <summary>
        /// 用户登陆
        /// </summary>
        /// <param name="usercode">账号</param>
        /// <param name="password">密码</param>
        /// <returns></returns>
        public OperationResult Login(string usercode, string password)
        {
            OperationResult result = new OperationResult(OperationResultType.Error, "操作失败,请稍后重试!");
            using (var DbContext = new UCDbContext())
            {
                var infolist = (from i in DbContext.Staff
                                where i.UserCode.Equals(usercode)
                                select i).ToList();

                if (infolist != null && infolist.Count > 0)
                {
                    StaffInfo info = new StaffInfo();
                    DESwap.StaffETD(infolist[0], info);
                    /*加载用户对应的功能*/
                    if (info.Password == password)
                    {
                        var rolefacilitylist = (from ss in DbContext.StaffStation
                                                join sr in DbContext.StationRole on ss.StationId equals sr.StationId
                                                join rf in DbContext.RoleFacility on sr.RoleId equals rf.RoleId
                                                select rf).Distinct().ToList();
                        List<RoleFacilityInfo> ilist = new List<RoleFacilityInfo>();
                        rolefacilitylist.ForEach(x =>
                        {
                            RoleFacilityInfo rfInfo = new RoleFacilityInfo();
                            DESwap.RoleFacilityETD(x, rfInfo);
                            ilist.Add(rfInfo);
                        });
                        result.ResultType = OperationResultType.Success;
                        result.Message = "登陆成功!";
                        result.AppendData = ilist;
                    }
                    else
                    {
                        result.ResultType = OperationResultType.Warning;
                        result.Message = "用户账号或密码不正确!";
                    }
                }
                else
                {
                    result.ResultType = OperationResultType.Warning;
                    result.Message = "用户账号或密码不正确!";
                }
            }

            return result;
        }
Beispiel #4
0
        /// <summary>
        /// 重载读取岗位内容,加载关联的功能列表
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public override StaffInfo Load(string key)
        {
            StaffInfo info = new StaffInfo();
            using (var DbContext = new UCDbContext())
            {
                Staff entity = StaffRpt.Get(DbContext, key);
                if (info != null)
                {
                    DESwap.StaffETD(entity, info);

                    /*******查询关联权限*******/
                    var fflist = (from i in DbContext.StaffStation
                                  where i.StaffId.Equals(info.Id)
                                  select i).ToList();
                    info.StaffStationInfoList = new List<StaffStationInfo>();
                    fflist.ForEach(x =>
                    {
                        StaffStationInfo rfinfo = new StaffStationInfo();
                        DESwap.StaffStationETD(x, rfinfo);
                        info.StaffStationInfoList.Add(rfinfo);
                    });
                }

            }
            return info;
        }
Beispiel #5
0
 public JsonResult UpdateStaffValid(string key, string validstatus)
 {
     StaffInfo info = new StaffInfo();
     if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(validstatus))
     {
         info.Id = key;
         info.SYS_IsValid = int.Parse(validstatus);
         OperationResult opr = StaffService.Modify(info);
         return Json(new JsonResultHelper(opr.Message));
     }
     else
     {
         return Json(new JsonResultHelper(false, "选择的记录无效", ""));
     }
 }
Beispiel #6
0
        public ViewResult StaffForm(string key)
        {
            ViewBag.Title = "StaffForm";
            ViewBag.DicCompany = PublicMethod.ListAllCompanyInfo(CompanyService, null);
            ViewBag.DicDepartment = PublicMethod.ListAllDepartmentInfo(DepartmentService, null);

            /*所有角色*/
            NameValueCollection nvc = new NameValueCollection();
            nvc.Add("isvalid", "1");
            NameValueCollection orderby = new NameValueCollection();
            orderby.Add("stationname", "asc");
            List<StationInfo> rdatalist = StationService.ListAllByCondition(nvc, orderby);

            if (string.IsNullOrEmpty(key))
            {
                StaffInfo info = new StaffInfo();

                var srdatalist = new List<StaffStationInfo>();
                var datalist = (from f in rdatalist
                                join ff in srdatalist on f.Id equals ff.StationId into templist
                                from tp in templist.DefaultIfEmpty()
                                select new StaffStationInfo()
                                {
                                    Id = tp == null ? "" : tp.Id,
                                    StaffId = tp == null ? "" : tp.StaffId,
                                    StationId = f.Id,
                                    StationName = f.StationName,
                                    Selected = tp == null ? false : true

                                }).ToList();
                info.StaffStationInfoList = datalist;
                return View(info);
            }
            else
            {
                StaffInfo info = StaffService.Load(key);
                var datalist = (from f in rdatalist
                                join ff in info.StaffStationInfoList on f.Id equals ff.StationId into templist
                                from tp in templist.DefaultIfEmpty()
                                select new StaffStationInfo()
                                {
                                    Id = tp == null ? "" : tp.Id,
                                    StaffId = tp == null ? "" : tp.StaffId,
                                    StationId = f.Id,
                                    StationName = f.StationName,
                                    Selected = tp == null ? false : true

                                }).ToList();
                info.StaffStationInfoList = datalist;
                return View(info);
            }
        }
Beispiel #7
0
        public ActionResult SaveStaff(StaffInfo info)
        {
            OperationResult opr = new OperationResult(OperationResultType.Success);
            try
            {
                if (string.IsNullOrEmpty(info.Id))
                {
                    info.Id = System.Guid.NewGuid().ToString();
                    opr = StaffService.Create(info);
                }
                else
                {
                    opr = StaffService.Modify(info);

                }
                ViewBag.DicCompany = PublicMethod.ListAllCompanyInfo(CompanyService, null);
                ViewBag.DicDepartment = PublicMethod.ListAllDepartmentInfo(DepartmentService, null);

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

            return View("StaffForm", info);
        }
Beispiel #8
0
 public JsonResult DeleteStaff(string key)
 {
     StaffInfo info = new StaffInfo();
     if (!string.IsNullOrEmpty(key))
     {
         info.Id = key;
         OperationResult opr = StaffService.Remove(key);
         return Json(new JsonResultHelper(opr.Message));
     }
     else
     {
         return Json(new JsonResultHelper(false, "选择的记录无效", ""));
     }
 }
Beispiel #9
0
        public static void StaffETD(Staff entity, StaffInfo info)
        {
            info.Id = entity.Id;
               info._IdIsDirty = 0;

               info.UserCode = entity.UserCode;
               info._UserCodeIsDirty = 0;

               info.Password = entity.Password;
               info._PasswordIsDirty = 0;

               info.UserName = entity.UserName;
               info._UserNameIsDirty = 0;

               info.Sex = entity.Sex;
               info._SexIsDirty = 0;

               info.BrithDate = entity.BrithDate;
               info._BrithDateIsDirty = 0;

               info.Phone = entity.Phone;
               info._PhoneIsDirty = 0;

               info.Fax = entity.Fax;
               info._FaxIsDirty = 0;

               info.Mobile = entity.Mobile;
               info._MobileIsDirty = 0;

               info.Email = entity.Email;
               info._EmailIsDirty = 0;

               info.DepartmentId = entity.DepartmentId;
               info._DepartmentIdIsDirty = 0;

               info.RegionId = entity.RegionId;
               info._RegionIdIsDirty = 0;

               info.DetailAddress = entity.DetailAddress;
               info._DetailAddressIsDirty = 0;

               info.ZipCode = entity.ZipCode;
               info._ZipCodeIsDirty = 0;

               info.IsLogin = entity.IsLogin;
               info._IsLoginIsDirty = 0;

               info.IsVerify = entity.IsVerify;
               info._IsVerifyIsDirty = 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;
        }
Beispiel #10
0
        public virtual List<StaffInfo> ListAllByCondition(NameValueCollection searchCondtionCollection, NameValueCollection sortCollection)
        {
            List<Staff> list = null;

            using (var DbContext = new UCDbContext())
            {
            var query = from i in DbContext.Staff
                        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<StaffInfo> ilist = new List<StaffInfo>();
            list.ForEach(x =>
            {
                StaffInfo info = new StaffInfo();
                DESwap.StaffETD(x, info);
                ilist.Add(info);
            });
            #endregion

            return ilist;;
        }
Beispiel #11
0
 public virtual StaffInfo Load(string key)
 {
     StaffInfo info = new StaffInfo();
     using (var DbContext = new UCDbContext())
     {
     Staff entity = StaffRpt.Get(DbContext, key);
     DESwap.StaffETD(entity,info);
     }
     return info;
 }