Exemplo n.º 1
0
        private static Response Excute(List <GameGroup> gplist)
        {
            if (gplist.IsNullOrEmpty())
            {
                return(ResultHelper.Fail("无数据。"));
            }
            //检查比赛状态,比赛准备才允许小组抽签
            var firstGroup = gplist.First();

            var game = GameHelper.GetGame(firstGroup.GameId);

            if (game.State != GameState.PREPARE.Id)
            {
                return(ResultHelper.Fail("比赛准备才能进行小组抽签。"));
            }

            bool isRoundThenKnock = game.KnockoutOption == KnockoutOption.ROUND_KNOCKOUT.Id;

            //先循环后淘汰,验证组成员
            if (isRoundThenKnock)
            {
                var firstOrder = GameHelper.GetGameOrder(firstGroup.OrderId);
                //根据OrderNo排序
                foreach (var group in gplist)
                {
                    //验证小组人数不足出线人数
                    if (group.MemberList.Count < firstOrder.KnockoutCountAB)
                    {
                        return(ResultHelper.Fail(string.Format("{0}人数不足要求出线人数{1}个,无法保存。", group.Name, firstOrder.KnockoutCount)));
                    }
                    group.MemberList = group.MemberList.OrderBy(p => p.OrderNo).ToList();
                }
            }

            var memberEntities = new List <EntityBase>();
            var loopEntities   = new List <EntityBase>();

            foreach (var group in gplist)
            {
                if (group.MemberList.IsNotNullOrEmpty())
                {
                    //先循环后淘汰,创建组成员
                    if (isRoundThenKnock)
                    {
                        CreateOneGroupMembers(memberEntities, group);
                    }
                    //创建组循环赛
                    CreateOneGroupLoops(loopEntities, group);
                }
            }

            //合并数据
            var entities = new List <EntityBase>();

            //先循环后淘汰,保存组成员
            if (isRoundThenKnock && memberEntities.IsNotNullOrEmpty())
            {
                entities.AddRange(memberEntities);
            }
            if (loopEntities.IsNotNullOrEmpty())
            {
                entities.AddRange(loopEntities);
            }

            var cmdSave = CommandHelper.CreateSave(entities);

            //删除原来生成的小组赛轮次表,后面重新生成
            var cmdDelete = CommandHelper.CreateProcedure(FetchType.Execute, "sp_DeleteGameGroup");

            cmdDelete.Params.Add("@GameId", gplist.First().GameId);
            cmdDelete.Params.Add("@GroupIdString", GetGroupIdString(gplist));
            cmdSave.PreCommands.Add(cmdDelete);

            return(DbContext.GetInstance().Execute(cmdSave));
        }
Exemplo n.º 2
0
        public ActionResult Delete(string SubjectIDs)
        {
            ResultHelper objResult = null;

            try
            {
                using (LedDb db = new LedDb())
                {
                    if (ModelState.IsValid)
                    {
                        StringBuilder strSql = new StringBuilder();
                        strSql.AppendFormat(@"UPDATE GroupUser SET IsDel = 1 WHERE Id IN ({0})", SubjectIDs);
                        if (db.Database.ExecuteSqlCommand(strSql.ToString()) > 0)
                        {
                            objResult = new ResultHelper()
                            {
                                Status = true,
                                Ret    = 0,
                                Obj    = SubjectIDs,
                                Msg    = "Delete Success!",
                                Desc   = "Delete Success!"
                            };
                        }
                        else
                        {
                            objResult = new ResultHelper()
                            {
                                Desc   = "Delete Faile,please try again.",
                                Msg    = "Delete Faile,please try again.",
                                Obj    = null,
                                Ret    = -1,
                                Status = false
                            };
                        }
                    }
                    else
                    {
                        objResult = new ResultHelper()
                        {
                            Desc   = " Faile,please try again",
                            Msg    = " Faile,please try again",
                            Obj    = null,
                            Ret    = -1,
                            Status = false
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                objResult = new ResultHelper()
                {
                    Desc   = ex.Message,
                    Msg    = ex.Message,
                    Obj    = null,
                    Ret    = -1,
                    Status = false
                };
            }
            return(Json(objResult));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 团体比赛结束一次对决
        /// </summary>
        /// <param name="currentUser">忽略</param>
        /// <param name="request">Request.GameLoop.Entities</param>
        /// <returns>Response.EmptyEntity</returns>
        public Response Execute(string request)
        {
            var req  = JsonConvert.DeserializeObject <Request <GameLoop> >(request);
            var temp = req.FirstEntity();

            //非轮空,非双方弃权,需要胜方签名
            if (!temp.IsBye && temp.WaiverOption != WaiverOption.AB && Ext.IsNullOrEmpty(temp.WinSign))
            {
                return(ResultHelper.Fail("非轮空,非双方弃权,需要胜方签名。"));
            }

            var loop = GameHelper.GetLoop(temp.Id);

            //从数据库取出,重新赋值
            loop.IsBye        = req.Entities.First().IsBye;
            loop.State        = GameLoopState.FINISH.Id;
            loop.WaiverOption = temp.WaiverOption.GetId();
            loop.WinSign      = temp.WinSign;
            loop.JudgeSign    = temp.JudgeSign;
            //更新结束时间
            loop.EndTime = DateTime.Now;
            if (loop.StartTime == null)
            {
                loop.StartTime = loop.EndTime;
            }
            loop.SetRowModified();

            loop.Team1Id = loop.Team1Id.GetId();
            loop.Team2Id = loop.Team2Id.GetId();

            IWaiver waiver = new TeamWaiver();

            if (loop.WaiverOption.IsNotNullOrEmpty())
            {
                waiver.SetWaiver(loop);
            }
            else
            {
                waiver.SetScore(loop);
                var order = GameHelper.GetGameOrder(loop.OrderId.GetId());

                //验证爱猕模式需要打完所有对阵
                if (order.TeamScoreMode == TeamScoreMode.SINGLE_RACE.Id)
                {
                    if (loop.Team1 + loop.Team2 != order.WinTeam * 2 - 1)
                    {
                        return(ResultHelper.Fail(string.Format("需要打满{0}场。", order.WinTeam * 2 - 1)));
                    }
                }
                else
                {
                    int max = loop.Team1 > loop.Team2 ? loop.Team1 : loop.Team2;
                    if (max < order.WinTeam)
                    {
                        //团队比赛胜场检查
                        return(ResultHelper.Fail(string.Format("胜方需要赢{0}场。", order.WinTeam)));
                    }
                }
            }

            List <EntityBase> entities = new List <EntityBase>();

            entities.Add(loop);
            SetNextLoop(loop, entities);

            var cmdSave = CommandHelper.CreateSave(entities);
            //更新个人积分
            var cmdUpdateScore = CommandHelper.CreateProcedure(FetchType.Execute, "sp_UpdateGameSportScoreForTeam");

            cmdUpdateScore.Params.Add("@GameId", loop.GameId);
            cmdUpdateScore.Params.Add("@LoopId", loop.Id.GetId());
            cmdSave.AfterCommands = new List <Command> {
                cmdUpdateScore
            };

            return(DbContext.GetInstance().Execute(cmdSave));
        }
Exemplo n.º 4
0
        /// <summary>
        /// 处理传感器采集数据
        /// </summary>
        /// <param name="sensorDatas"></param>
        public static XResponseMessage ProcessSensorData(IEnumerable <SensorData> sensorDatas)
        {
            if (sensorDatas == null)
            {
                throw new ArgumentNullException("sensorDatas");
            }

            var enumerable = sensorDatas as SensorData[] ?? sensorDatas.ToArray();

            if (enumerable.Any())
            {
                //首先检查是否有不在Redis缓存中的设备
                //  enumerable.Where(sd =>
                //       _redis.GetVals<DeviceDto>("device", DataType.Protobuf).Where(device =>
                //            device.Serialnum.EqualIgnoreCase(sd.DeviceCode)
                //           });
                //);
                //检查是否有不在数据库中的设备
                var deviceNotInDb = enumerable.Where(sd => _deviceService.GetDeviceByIdAsny(sd.DeviceCode) == null);
                var notInDb       = deviceNotInDb as IList <SensorData> ?? deviceNotInDb.ToList();
                if (notInDb.Any())
                {
                    return(ResultHelper.CreateMessage(notInDb.Select(sd => sd.DeviceCode).Join(","), ErrorType.DeviceNotExists));
                }
                enumerable.ForEach(async sd =>
                {
                    var device    = _redis.Smember <DeviceDto>("device", DataType.Protobuf).Find(d => d.Serialnum.EqualIgnoreCase(sd.DeviceCode));
                    DeviceDto dev = device != null ? device : await _deviceService.GetDeviceByIdAsny(sd.DeviceCode);
                    dev.Remark    = sd.BatchNum;
                    if (dev != null)
                    {
                        if (device == null)
                        {
                            _redis.Sadd("device", dev, DataType.Protobuf);//加入到缓存中去
                        }
                        //更新设备实时数据
                        ProcessDevice(sd.Value, sd.ShowValue, sd.Time);

                        //  数据分析、统计、存储

                        //实时数据处理
                        //dev.ProcessDeviceDataInfo();
                        _dataInfoQueue.Enqueue(dev);

                        //添加数据异常记录
                        //dev.ProcessDeviceDataExceptionLog();
                        _deviceDataExceptionLogQueue.Enqueue(dev);

                        //添加设备运行记录
                        _deviceRunLogQueue.Enqueue(dev);

                        //诊断信息
                        //dev.ProcessDiagnotics();
                        //_processDiagnoticsQueue.Enqueue(dev);

                        //分时数据处理
                        //dev.ProcessStatistics(15);
                        //dev.ProcessStatistics(60);
                        _processStatisticsQueue.Enqueue(dev);

                        //设备统计
                        _deviceRunningStatisticsQueue.Enqueue(dev);
                    }
                });
            }
            return(ResultHelper.CreateMessage("无传感器数据需要处理", ErrorType.NoError));
        }
 public bool SetDefault(string id)
 {
     //更新所有为不默认0
     ExecuteSqlCommand(@"update [dbo].[WC_OfficalAccounts] set IsDefault=0");
     //设置当前为默认1
     return(ExecuteSqlCommand(@"update [dbo].[WC_OfficalAccounts] set IsDefault=1 where id='" + ResultHelper.Formatstr(id) + "'") > 0);
 }
Exemplo n.º 6
0
        public JsonResult Login(string UserName, string Password, string Code)
        {
            if (Session["Code"] == null)
            {
                return(Json(JsonHandler.CreateMessage(0, "请重新刷新验证码"), JsonRequestBehavior.AllowGet));
            }

            if (Session["Code"].ToString().ToLower() != Code.ToLower())
            {
                return(Json(JsonHandler.CreateMessage(0, "验证码错误"), JsonRequestBehavior.AllowGet));
            }
            SysUser user = accountBLL.Login(UserName, ValueConvert.MD5(Password));

            if (user == null)
            {
                LogHandler.WriteServiceLog(UserName, ResultHelper.NowTime + "登录系统,IP:" + ResultHelper.GetUserIP() + "账户或密码错误", "失败", "登录", "系统入口");
                return(Json(JsonHandler.CreateMessage(0, "用户名或密码错误"), JsonRequestBehavior.AllowGet));
            }
            else if (!Convert.ToBoolean(user.State))//被禁用
            {
                return(Json(JsonHandler.CreateMessage(0, "账户被系统禁用"), JsonRequestBehavior.AllowGet));
            }

            AccountModel account = new AccountModel();

            account.Id         = user.Id;
            account.TrueName   = user.TrueName;
            account.Photo      = string.IsNullOrEmpty(user.Photo)?"/Images/Photo.jpg":user.Photo;
            account.UserName   = user.UserName;
            Session["Account"] = account;
            GetThemes(user.Id);

            LoginUserManage.Add(Session.SessionID, account.Id);

            //在线用户统计
            //OnlineHttpModule.ProcessRequest();
            LogHandler.WriteServiceLog(UserName, ResultHelper.NowTime + "登录系统,IP:" + ResultHelper.GetUserIP(), "成功", "登录", "系统入口");
            return(Json(JsonHandler.CreateMessage(1, ""), JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 7
0
        public HttpResponseMessage ExportStuExcel([FromBody] ExportStuInfo m)
        {
            var eInfo = MongoDbHelper.FindOne <E_Info>(m.ExamID, DbName.E_Info);

            if (eInfo == null)
            {
                return(ResultHelper.Failed("未查到当前考试"));
            }
            var filter = new BsonDocument();

            filter.Add("eid", eInfo._id);
            if (!string.IsNullOrEmpty(m.School))
            {
                int id = -1;
                if (int.TryParse(m.School, out id))
                {
                    filter.Add("sid", m.School);
                }
                else
                {
                    filter.Add("snm", m.School);
                }
            }
            if (!string.IsNullOrEmpty(m.StudentID))
            {
                filter.Add("stid", m.StudentID);
            }
            if (!string.IsNullOrEmpty(m.StudentName))
            {
                filter.Add("nm", m.StudentName);
            }
            var           sts  = MongoDbHelper.GetPagedList1 <St_Info, string>(DbName.St_Info, 0, 0, filter, w => w.stid);
            List <string> data = ExcelBLL.GetStuColumn(eInfo);
            DataTable     dt   = new DataTable();

            for (int j = 0; j < data.Count; j++)
            {
                dt.Columns.Add(data[j]);
            }
            for (int i = 0; i < sts.Count; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = sts[i].sid;
                dr[1] = sts[i].snm;
                dr[2] = sts[i].stid;
                dr[3] = sts[i].cls;
                dr[4] = sts[i].nm;
                for (int j = 0; j < eInfo.sbs.Count; j++)
                {
                    var sb = sts[i].subEs.Where(w => w.sbnm == eInfo.sbs[j].sbnm).FirstOrDefault();
                    if (sb != null)
                    {
                        dr[5 + j * 3] = sb.sbrm;
                        dr[6 + j * 3] = sb.sbst;
                        dr[7 + j * 3] = sb.sbtch;
                    }
                    else
                    {
                        dr[5 + j * 3] = null;
                        dr[6 + j * 3] = null;
                        dr[7 + j * 3] = null;
                    }
                }
                dr[5 + eInfo.sbs.Count * 3] = sts[i].idcd;
                dr[6 + eInfo.sbs.Count * 3] = sts[i].tp;
                dt.Rows.Add(dr);
            }
            string file = ExcelBLL.BuildExcel1(data.ToArray(), dt);
            string url  = RequestContext.Url.Request.RequestUri.Authority + "\\" + file;

            return(ResultHelper.OK(url));
        }
Exemplo n.º 8
0
        public ActionResult Delete(string ProjectIds)
        {
            ResultHelper objResult = null;

            try
            {
                using (LedDb db = new LedDb())
                {
                    if (ModelState.IsValid)
                    {
                        string[] Id     = ProjectIds.Split(',');
                        string   strMsg = string.Empty;
                        for (int i = 0; i < Id.Length; i++)
                        {
                            ProjectBll.DeleteAProject(int.Parse(Id[i]), out strMsg);
                        }
                        objResult = new ResultHelper()
                        {
                            Status = true,
                            Ret    = 0,
                            Obj    = ProjectIds,
                            Msg    = strMsg,
                            Desc   = strMsg
                        };
                        //StringBuilder strSql = new StringBuilder();
                        //strSql.AppendFormat(@"UPDATE ProjectInfo SET IsDel = 1 WHERE Id IN ({0})", ProjectIds);
                        //if (db.Database.ExecuteSqlCommand(strSql.ToString()) > 0)
                        //{

                        //    objResult = new ResultHelper()
                        //    {
                        //        Status = true,
                        //        Ret = 0,
                        //        Obj = ProjectIds,
                        //        Msg = "Delete Success!",
                        //        Desc = "Delete Success!"
                        //    };
                        //}
                        //else
                        //{
                        //    objResult = new ResultHelper()
                        //    {
                        //        Desc = "Delete Faile,please try again.",
                        //        Msg = "Delete Faile,please try again.",
                        //        Obj = null,
                        //        Ret = -1,
                        //        Status = false
                        //    };
                        //}
                    }
                    else
                    {
                        objResult = new ResultHelper()
                        {
                            Desc   = " Faile,please try again",
                            Msg    = " Faile,please try again",
                            Obj    = null,
                            Ret    = -1,
                            Status = false
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                objResult = new ResultHelper()
                {
                    Desc   = ex.Message,
                    Msg    = ex.Message,
                    Obj    = null,
                    Ret    = -1,
                    Status = false
                };
            }
            return(Json(objResult));
        }
        public ActionResult List(string Method, string Key)
        {
            object objResult = null;

            try
            {
                using (LedDb db = new LedDb())
                {
                    List <ModelForProjectUser> list = new List <ModelForProjectUser>();

                    if (Method == "FirstLoad")
                    {
                        StringBuilder strSql = new StringBuilder();
                        strSql.Append(@"select
                                        p.*,
                                        p.Name MgrProjectName,
                                        g.Name RefGroupName,
                                        o.Name RefOrgName
                                        from ProjectUser p
                                        left join GroupUser g on g.Id=p.RefGroupId
                                        left join OrgUser o on g.Id=p.RefOrgId
                                        where g.IsDel!=1 or g.IsDel is null");
                        list = db.Database.SqlQuery <ModelForProjectUser>(strSql.ToString()).ToList();
                    }
                    else if (Method == "SearchLoad")
                    {
                        StringBuilder strSql = new StringBuilder();
                        strSql.AppendFormat(@"select
                                                p.*,
                                                p.Name MgrProjectName,
                                                g.Name RefGroupName,
                                                o.Name RefOrgName
                                                from ProjectUser p
                                                left join GroupUser g on g.Id=p.RefGroupId
                                                left join OrgUser o on g.Id=p.RefOrgId
                                                where (g.IsDel!=1 or g.IsDel is null)
                                                and p.Name like '%{0}%'", Key);
                        list = db.Database.SqlQuery <ModelForProjectUser>(strSql.ToString()).ToList();
                    }
                    int    page  = string.IsNullOrWhiteSpace(Request["page"]) ? 1 : Int32.Parse(Request["page"]);
                    int    rows  = string.IsNullOrWhiteSpace(Request["rows"]) ? 1 : Int32.Parse(Request["rows"]);
                    string order = string.IsNullOrWhiteSpace(Request["order"]) ? "DESC" : Request["order"].ToUpper();
                    string sort  = string.IsNullOrWhiteSpace(Request["sort"]) ? "Id" : Request["sort"];
                    IQueryable <ModelForProjectUser> query = CommonTools.DataSorting <ModelForProjectUser>(list.AsQueryable(), sort, order).Skip((page - 1) * rows).Take(rows);
                    objResult = new { total = list.Count, rows = query };
                }
            }
            catch (Exception ex)
            {
                objResult = new ResultHelper()
                {
                    Desc   = ex.Message,
                    Msg    = ex.Message,
                    Obj    = null,
                    Ret    = -1,
                    Status = false
                };
                //throw;
            }
            return(Json(objResult));
        }
Exemplo n.º 10
0
        public ActionResult Add(GlareSysEfDbAndModels.ProjectInfo subject)
        {
            ResultHelper objResult = null;

            try
            {
                using (LedDb db = new LedDb())
                {
                    if (ModelState.IsValid)
                    {
                        subject.UpdateDt = DateTime.Now;
                        subject.CreateDt = DateTime.Now;
                        subject.IsDel    = 0;

                        subject.UpdateDt = DateTime.Now;
                        subject.CreateDt = DateTime.Now;
                        subject.IsDel    = 0;
                        string strMsg = string.Empty;
                        bool   b      = ProjectBll.AddAProject(ref subject, out strMsg);
                        if (b)
                        {
                            objResult = new ResultHelper()
                            {
                                Status = true,
                                Ret    = 0,
                                Obj    = subject,
                                Msg    = strMsg,
                                Desc   = strMsg
                            };
                        }
                        else
                        {
                            objResult = new ResultHelper()
                            {
                                Desc   = strMsg,
                                Msg    = strMsg,
                                Obj    = null,
                                Ret    = -1,
                                Status = false
                            };
                        }
                        //db.ProjectInfo.Add(subject);
                        //if (db.SaveChanges() > 0)
                        //{

                        //    objResult = new ResultHelper()
                        //    {
                        //        Status = true,
                        //        Ret = 0,
                        //        Obj = subject,
                        //        Msg = "Add  Success!",
                        //        Desc = "Add  Success!"
                        //    };
                        //}
                        //else
                        //{
                        //    objResult = new ResultHelper()
                        //    {
                        //        Desc = "Add  Faile,please try again.",
                        //        Msg = "Add  Faile,please try again.",
                        //        Obj = null,
                        //        Ret = -1,
                        //        Status = false
                        //    };
                        //}
                    }
                    else
                    {
                        objResult = new ResultHelper()
                        {
                            Desc   = " Faile,please try again",
                            Msg    = " Faile,please try again",
                            Obj    = null,
                            Ret    = -1,
                            Status = false
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                objResult = new ResultHelper()
                {
                    Desc   = ex.Message,
                    Msg    = ex.Message,
                    Obj    = null,
                    Ret    = -1,
                    Status = false
                };
            }
            return(Json(objResult));
        }
Exemplo n.º 11
0
        public ActionResult Modify(GlareSysEfDbAndModels.ProjectInfo subject)
        {
            ResultHelper objResult = null;

            try
            {
                using (LedDb db = new LedDb())
                {
                    if (ModelState.IsValid)
                    {
                        ProjectInfo aSubject = db.ProjectInfo.Where(p => p.Id == subject.Id).FirstOrDefault();
                        aSubject.ProjectName = subject.ProjectName;
                        aSubject.ManagerName = subject.ManagerName;
                        aSubject.Address     = subject.Address;
                        aSubject.ManagerTel  = subject.ManagerTel;
                        aSubject.OrgId       = subject.OrgId;
                        aSubject.GroupId     = subject.GroupId;
                        aSubject.UpdateDt    = DateTime.Now;
                        string strMsg = string.Empty;
                        bool   b      = ProjectBll.UpdateProejct(ref subject, out strMsg);
                        if (b)
                        {
                            objResult = new ResultHelper()
                            {
                                Status = true,
                                Ret    = 0,
                                Obj    = subject,
                                Msg    = strMsg,
                                Desc   = strMsg
                            };
                        }
                        else
                        {
                            objResult = new ResultHelper()
                            {
                                Desc   = strMsg,
                                Msg    = strMsg,
                                Obj    = null,
                                Ret    = -1,
                                Status = false
                            };
                        }
                        //if (db.SaveChanges() > 0)
                        //{

                        //    objResult = new ResultHelper()
                        //    {
                        //        Status = true,
                        //        Ret = 0,
                        //        Obj = subject,
                        //        Msg = "Edit Success!",
                        //        Desc = "Edit Success!"
                        //    };
                        //}
                        //else
                        //{
                        //    objResult = new ResultHelper()
                        //    {
                        //        Desc = "Edit Faile,please try again.",
                        //        Msg = "Edit Faile,please try again.",
                        //        Obj = null,
                        //        Ret = -1,
                        //        Status = false
                        //    };
                        //}
                    }
                    else
                    {
                        objResult = new ResultHelper()
                        {
                            Desc   = " Faile,please try again",
                            Msg    = " Faile,please try again",
                            Obj    = null,
                            Ret    = -1,
                            Status = false
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                objResult = new ResultHelper()
                {
                    Desc   = ex.Message,
                    Msg    = ex.Message,
                    Obj    = null,
                    Ret    = -1,
                    Status = false
                };
            }
            return(Json(objResult));
        }
Exemplo n.º 12
0
 public IActionResult Run([FromBody] CodeParameter parameter)
 {
     return(new JsonResult(ResultHelper.GetOkResult(new { result = CodeRun.Start(parameter.Lang, parameter.Language, parameter.Code, parameter.Classname) })));
 }
Exemplo n.º 13
0
        public ActionResult Details(string id)
        {
            ViewBag.Perm = GetPermission();
            SysUserModel entity = m_BLL.GetById(id);
            //防止读取错误
            string CityName, ProvinceName, VillageName, DepName, PosName;

            try
            {
                CityName     = !string.IsNullOrEmpty(entity.City) ? areasBLL.GetById(entity.City).Name : "";
                ProvinceName = !string.IsNullOrEmpty(entity.Province) ? areasBLL.GetById(entity.Province).Name : "";
                VillageName  = !string.IsNullOrEmpty(entity.Village) ? areasBLL.GetById(entity.Village).Name : "";
                DepName      = !string.IsNullOrEmpty(entity.DepId) ? structBLL.GetById(entity.DepId).Name : "";
                PosName      = !string.IsNullOrEmpty(entity.PosId) ? structBLL.GetById(entity.PosId).Name : "";
            }
            catch
            {
                CityName     = "";
                ProvinceName = "";
                VillageName  = "";
                DepName      = "";
                PosName      = "";
            }
            SysUserEditModel info = new SysUserEditModel()
            {
                Id           = entity.Id,
                UserName     = entity.UserName,
                TrueName     = entity.TrueName,
                Card         = entity.Card,
                MobileNumber = entity.MobileNumber,
                PhoneNumber  = entity.PhoneNumber,
                QQ           = entity.QQ,
                EmailAddress = entity.EmailAddress,
                OtherContact = entity.OtherContact,
                Province     = entity.Province,
                City         = entity.City,
                Village      = entity.Village,
                Address      = entity.Address,
                State        = entity.State,
                CreateTime   = entity.CreateTime,
                CreatePerson = entity.CreatePerson,
                Sex          = entity.Sex,
                Birthday     = ResultHelper.DateTimeConvertString(entity.Birthday),
                JoinDate     = ResultHelper.DateTimeConvertString(entity.JoinDate),
                Marital      = entity.Marital,
                Political    = entity.Political,
                Nationality  = entity.Nationality,
                Native       = entity.Native,
                School       = entity.School,
                Professional = entity.Professional,
                Degree       = entity.Degree,
                DepId        = entity.DepId,
                PosId        = entity.PosId,
                Expertise    = entity.Expertise,
                JobState     = entity.JobState,
                Photo        = entity.Photo,
                Attach       = entity.Attach,
                RoleName     = m_BLL.GetRefSysRole(id),
                CityName     = CityName,
                ProvinceName = ProvinceName,
                VillageName  = VillageName,
                DepName      = DepName,
                PosName      = PosName
            };

            return(View(info));
        }
Exemplo n.º 14
0
        private async Task <Subscription> ExecuteAsync(
            string id,
            OperationMessagePayload payload,
            MessageHandlingContext context)
        {
            var writer = context.Writer;

            _logger.LogDebug("Executing operation: {operationName} query: {query}",
                             payload.OperationName,
                             payload.Query);

            var result = await _executer.ExecuteAsync(
                payload.OperationName,
                payload.Query,
                payload.Variables?.ToInputs(),
                context,
                null // TODO: find later a better way to specify services
                ).ConfigureAwait(false);

            if (result.Errors != null && result.Errors.Any())
            {
                _logger.LogError("Execution errors: {errors}", ResultHelper.GetErrorString(result));
                await writer.SendAsync(new OperationMessage
                {
                    Type    = MessageType.GQL_ERROR,
                    Id      = id,
                    Payload = result
                }).ConfigureAwait(false);

                return(null);
            }

            // is sub
            if (result is SubscriptionExecutionResult subscriptionExecutionResult)
            {
                using (_logger.BeginScope("Subscribing to: {subscriptionId}", id))
                {
                    if (subscriptionExecutionResult.Streams?.Values.SingleOrDefault() == null)
                    {
                        _logger.LogError("Cannot subscribe as no result stream available");
                        await writer.SendAsync(new OperationMessage
                        {
                            Type    = MessageType.GQL_ERROR,
                            Id      = id,
                            Payload = result
                        }).ConfigureAwait(false);

                        return(null);
                    }

                    _logger.LogDebug("Creating subscription");
                    return(new Subscription(
                               id,
                               payload,
                               subscriptionExecutionResult,
                               writer,
                               sub => _subscriptions.TryRemove(id, out _),
                               _loggerFactory.CreateLogger <Subscription>()));
                }
            }

            //is query or mutation
            await writer.SendAsync(new OperationMessage
            {
                Type    = MessageType.GQL_DATA,
                Id      = id,
                Payload = result
            }).ConfigureAwait(false);

            await writer.SendAsync(new OperationMessage
            {
                Type = MessageType.GQL_COMPLETE,
                Id   = id
            }).ConfigureAwait(false);

            return(null);
        }
Exemplo n.º 15
0
        public ActionResult ExportStudentResult(Guid?key)
        {
            if (key == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Lecture lecture = _lectureService.GetLecture((Guid)key);

            if (lecture == null)
            {
                return(HttpNotFound());
            }

            ResultHelper resultHelper = new ResultHelper();
            IEnumerable <ExportResult_View> results = resultHelper.ExportGetByLecture(lecture);

            var 學生列表 = results.Select(d => new
            {
                d.Employee_ID,
                d.Compeny,
                d.Student_Name,
                Gender = (GenderEnum)d.Gender,
                d.Birthday,
                d.Email,
                d.Phone_Number,
                d.Goal_Name,
                d.D,
                d.I,
                d.S,
                d.C,
                d.Ability,
                d.Horizontal_Score,
                d.Vertical_Score,
                d.T1_Name,
                d.T2_Name,
                d.T3_Name
            });
            XLWorkbook   活頁簿  = new XLWorkbook();
            IXLWorksheet 工作表1 = 活頁簿.Worksheets.Add("自訂工作表名稱");

            工作表1.Cell(1, 1).Value  = "學號";
            工作表1.Cell(1, 2).Value  = "系所";
            工作表1.Cell(1, 3).Value  = "姓名";
            工作表1.Cell(1, 4).Value  = "性別";
            工作表1.Cell(1, 5).Value  = "生日";
            工作表1.Cell(1, 6).Value  = "電子信箱";
            工作表1.Cell(1, 7).Value  = "手機";
            工作表1.Cell(1, 8).Value  = "圓夢新思維工作首要條件";
            工作表1.Cell(1, 9).Value  = "D";
            工作表1.Cell(1, 10).Value = "I";
            工作表1.Cell(1, 11).Value = "S";
            工作表1.Cell(1, 12).Value = "C";
            工作表1.Cell(1, 13).Value = "業務能力";
            工作表1.Cell(1, 14).Value = "橫座標";
            工作表1.Cell(1, 15).Value = "縱座標";
            工作表1.Cell(1, 16).Value = "最重要";
            工作表1.Cell(1, 17).Value = "次重要";
            工作表1.Cell(1, 18).Value = "重要";



            工作表1.Cell(2, 1).InsertData(學生列表);
            string FileName = "StudentResult.xlsx";
            string FileUrl  = Server.MapPath("~/XML/" + FileName);

            活頁簿.SaveAs(FileUrl);
            return(File(FileUrl, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"{lecture.Name}學生資料.xlsx"));
        }
Exemplo n.º 16
0
        public HttpResponseMessage StaStudentNum([FromBody] SelPaper m)
        {
            var      filter   = new BsonDocument();
            ObjectId objectId = new ObjectId();

            if (ObjectId.TryParse(m.ExamID, out objectId))
            {
                filter.Add("eid", objectId);
                if (!string.IsNullOrEmpty(m.School))
                {
                    int id = -1;
                    if (int.TryParse(m.School, out id))
                    {
                        filter.Add("sid", m.School);
                    }
                    else
                    {
                        filter.Add("snm", m.School);
                    }
                }
                var             data  = MongoDbHelper.GetPagedList1 <Pp_Nm, string>(DbName.Pp_Nm, m.Skip, m.Limit, filter, w => w.sid);
                int             Count = MongoDbHelper.GetCount <Pp_Nm>(DbName.Pp_Nm, filter);
                List <PaperNum> lm    = new List <PaperNum>();
                if (Count == 0)
                {
                    var      ppp = new List <PaperNum>();
                    PaperNum pn  = new PaperNum();
                    ppp.Add(pn);
                    var exam1 = MongoDbHelper.FindOne <E_Info>(m.ExamID, DbName.E_Info);
                    for (int i = 0; i < exam1.sbs.Count; i++)
                    {
                        SubNum sub = new SubNum();
                        sub.SubName = exam1.sbs[i].sbnm;
                        sub.SubID   = exam1.sbs[i]._id.ToString();
                        pn.Subs.Add(sub);
                    }
                    return(ResultHelper.OK(new { Data = ppp, Count = Count }));
                }
                var exam = MongoDbHelper.FindOne <E_Info>(m.ExamID, DbName.E_Info);

                for (int i = 0; i < data.Count; i++)
                {
                    PaperNum t = new PaperNum();
                    t.ID         = data[i]._id.ToString();
                    t.SchoolID   = data[i].sid;
                    t.SchoolName = data[i].snm;
                    t.IsSure     = data[i].iss;
                    for (int j = 0; j < exam.sbs.Count; j++)
                    {
                        SubNum sub = new SubNum();
                        sub.SubID    = exam.sbs[j]._id.ToString();
                        sub.SubName  = exam.sbs[j].sbnm;
                        sub.SubCount = data[i].sbnms.Where(w => w.sbid == exam.sbs[j]._id).FirstOrDefault() == null ? 0 : data[i].sbnms.Where(w => w.sbid == exam.sbs[j]._id).FirstOrDefault().sct;
                        sub.AcCount  = data[i].sbnms.Where(w => w.sbid == exam.sbs[j]._id).FirstOrDefault() == null ? 0 : data[i].sbnms.Where(w => w.sbid == exam.sbs[j]._id).FirstOrDefault().ac;
                        t.Subs.Add(sub);
                    }
                    lm.Add(t);
                }
                return(ResultHelper.OK(new { Data = lm, Count = Count }));
            }
            return(ResultHelper.Failed("未找到该次考试"));
        }
Exemplo n.º 17
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            ValidationErrors errors = new ValidationErrors();

            using (DBContainer db = new DBContainer())
            {
                IWC_OfficalAccountsBLL account_BLL = new WC_OfficalAccountsBLL()
                {
                    m_Rep = new WC_OfficalAccountsRepository(db)
                };

                //获得当前公众号
                WC_OfficalAccountsModel account = account_BLL.GetById(Id);

                //将用户提取到本地数据库
                WC_UserModel userModel = new WC_UserModel();
                IWC_UserBLL  user_BLL  = new WC_UserBLL()
                {
                    m_Rep = new WC_UserRepository(db)
                };

                UserInfoJson userJson = UserApi.Info(account.AccessToken, requestMessage.FromUserName);
                userModel.Id               = ResultHelper.NewId;
                userModel.OpenId           = userJson.openid;
                userModel.NickName         = userJson.nickname;
                userModel.Sex              = userJson.sex;
                userModel.Language         = userJson.language;
                userModel.City             = userJson.city;
                userModel.Province         = userJson.province;
                userModel.Country          = userJson.country;
                userModel.HeadImgUrl       = userJson.headimgurl;
                userModel.SubscribeTime    = ResultHelper.GetTimeByLong(userJson.subscribe_time);
                userModel.UnionId          = userJson.unionid;
                userModel.Remark           = userJson.remark;
                userModel.GroupId          = userJson.groupid.ToString();
                userModel.TagidList        = string.Join(",", userJson.tagid_list.ToArray());
                userModel.Subscribe        = userJson.subscribe;
                userModel.OfficalAccountId = account.Id;
                user_BLL.Create(ref errors, userModel);
                IWC_MessageResponseRepository m_Rep = new WC_MessageResponseRepository(db);
                //订阅回复
                List <WC_MessageResponse> messageList = m_Rep.GetSubscribeResponseContent(account.Id);
                if (messageList.Count() > 0)
                {
                    if (messageList[0].Category == (int)WeChatReplyCategory.Text)
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageText>();
                        responseMessage.CreateTime   = ResultHelper.NowTime;
                        responseMessage.ToUserName   = requestMessage.FromUserName;
                        responseMessage.FromUserName = account.OfficalId;
                        responseMessage.Content      = messageList[0].TextContent;
                        return(responseMessage);
                    }
                    //图文方式
                    else if (messageList[0].Category == (int)WeChatReplyCategory.Image)
                    {
                        var responseMessage = CreateResponseMessage <ResponseMessageNews>();
                        foreach (var model in messageList)
                        {
                            responseMessage.Articles.Add(new Article()
                            {
                                Title       = model.TextContent,
                                Description = model.ImgTextContext,
                                PicUrl      = WebChatPara.SiteUrl + model.ImgTextUrl,
                                Url         = model.ImgTextLink
                            });
                        }
                        return(responseMessage);
                    }    //一般很少用到
                    else if (messageList[0].Category == (int)WeChatReplyCategory.Voice)
                    {
                        var responseMessage = base.CreateResponseMessage <ResponseMessageMusic>();
                        responseMessage.Music.MusicUrl    = WebChatPara.SiteUrl + messageList[0].MeidaUrl;
                        responseMessage.Music.Title       = messageList[0].TextContent;
                        responseMessage.Music.Description = messageList[0].Remark;
                        return(responseMessage);
                    }
                }



                var errorResponseMessage = requestMessage.CreateResponseMessage <ResponseMessageText>();
                return(errorResponseMessage);
            }
        }
Exemplo n.º 18
0
        public Response Execute(string request)
        {
            var req = JsonConvert.DeserializeObject <Request <LimitModelFilter> >(request);
            var obj = req.Filter;
            List <LimitBaseData> list = LimitName.LimitList;
            Response             res  = ResultHelper.Success();

            //foreach (var item in list)
            //{
            //    if (item.Type == obj.Type)
            //    {
            //        res.Entities.Add(item);
            //    }
            //}
            //var ownLimit = GetOwnLimit(obj.RoleId, obj.Type);
            //if (ownLimit != null && ownLimit.Count > 0)
            //{
            //    List<LimitBaseData> OwnLimitList = new List<LimitBaseData>();
            //    foreach (var item in ownLimit)
            //    {
            //        LimitBaseData data = new LimitBaseData { Range = (item as Limit).LimitDetail, NameId = (item as Limit).LimitName };
            //        OwnLimitList.Add(data);
            //    }
            //    res.Tag = OwnLimitList;
            //}

            //获取所有列表
            foreach (var item in list)
            {
                if (item.Type == obj.Type)
                {
                    res.Entities.Add(item);
                }
            }
            var ownLimitList = GetOwnLimit(obj.RoleId, obj.Type);//获取拥有的权限列表

            foreach (var item in res.Entities)
            {
                if ((item as LimitBaseData).Type != 1)//针对权限值只有0或1的情况
                {
                    (item as LimitBaseData).IsSelected = false;
                    (item as LimitBaseData).Range      = 0;
                }
                (item as LimitBaseData).DetailLimit = LimitHelper.GetLimitDetailList(item as LimitBaseData);
                foreach (var item1 in ownLimitList)
                {
                    if ((item as LimitBaseData).NameId == (item1 as Limit).LimitName)
                    {
                        if ((item as LimitBaseData).Type != 1)//针对权限值只有0或1的情况
                        {
                            (item as LimitBaseData).Range = (item1 as Limit).LimitDetail;
                            if ((item1 as Limit).LimitDetail == 1)
                            {
                                (item as LimitBaseData).IsSelected = true;
                            }
                            else
                            {
                                (item as LimitBaseData).IsSelected = false;
                            }
                        }

                        HashSet <int> rangeSet = new HashSet <int>();
                        LimitHelper.GetLimitRangeList((item1 as Limit).LimitDetail, rangeSet);

                        foreach (int k in rangeSet)
                        {
                            (item as LimitBaseData).DetailLimit.AsParallel().ForAll((j) =>
                            {
                                if (j.Range == k)
                                {
                                    j.IsSelected = true;
                                }
                            });
                        }
                    }
                }
            }

            return(res);
        }
Exemplo n.º 19
0
        /// <summary>
        /// 工序调整(返工)
        /// </summary>
        /// <param name="context"></param>
        void ProcessAdjustion(HttpContext context)
        {
            string       _service = "ProcessHandler/OperationAdjustion";
            Result       rs       = new Result();
            ResultHelper rh       = new ResultHelper();
            DbHelper     db       = new DbHelper();
            Log          log      = new Log();

            string strUserName   = HttpContext.Current.Request["user_name"];
            string strSubOrders  = HttpContext.Current.Request["sub_orders"];
            string strReworkNote = HttpContext.Current.Request["rwk_note"];

            string strReceiver   = HttpContext.Current.Request["receiver"];
            string strReworkUser = HttpContext.Current.Request["rwk_user"];
            string strIssProcess = HttpContext.Current.Request["issue_process"];
            string strToProcess  = HttpContext.Current.Request["to_process"];
            string strReasonCate = HttpContext.Current.Request["reason_cate"];

            var json     = HttpContext.Current.Request["json"];
            var jsetting = new JsonSerializerSettings {
                NullValueHandling = NullValueHandling.Ignore
            };
            Rework rework = (Rework)JsonConvert.DeserializeObject <Rework>(json, jsetting);//反序列化

            string sql_insert_rework = @"insert into hrework
                                   (wo_number,
                                   from_process,
                                   to_process,
                                   issue_process,
                                   receiver,
                                   rwk_user,
                                   reason_cate,
                                   reason_sub_cate,
                                   branch_type,
                                   rwk_note,
                                   creation_date,
                                   created_by)
                             values(
			                        '#wo_number',
			                        (select cur_process from horder where sub_order='#wo_number'),
			                        '{0}',
			                        '{1}',
			                        '{2}',
			                        '{3}',
			                        '{4}',
			                        '{5}',
			                        '{6}',
			                        '{7}',
			                        getdate(),
			                        '{8}');"            ;

            sql_insert_rework = string.Format(sql_insert_rework,
                                              rework.to_process,
                                              rework.issue_process,
                                              rework.receiver,
                                              rework.rwk_user,
                                              rework.reason_cate,
                                              rework.reason_sub_cate,
                                              rework.branch_type,
                                              rework.rwk_note,
                                              strUserName);
            sql_insert_rework = sql_insert_rework.Replace("#wo_number", "{0}");

            //string sql_update_order = @"updade horder
            //                                set next_process=(select cur_process from horder where sub_order='{0}')
            //                                where sub_order='{0}';";
            string sql_update_order    = @"update horder set cur_process='',next_process=(select process_name from hprocess where process_id={0}),
                                            status='WAIT' where sub_order='{1}';";
            string sql_insert_prdroute = @"insert into hprdroute
                                              (wo_number,
                                               process_id,
                                               process_name,
                                               sequence,
                                               creation_date,
                                               created_by)
                                              select '{0}',
                                                     process_id,
                                                     process_name,
                                                     (select sequence + 0.1
                                                        from dbo.hprdroute
                                                       where wo_number = '{0}'
                                                         and process_name = (select case cur_process when null then next_process when '' then next_process else cur_process end
                                                                               from horder
                                                                              where sub_order = '{0}')),
                                                     Getdate(),
                                                     'ProcessHandler/ProcessAdjustion'
                                                from hprocess
                                               where process_id = '{1}';";
            //而然要求按需作业(条码采集、检验等),暂时注释代码
            //string sql_insert_task = @"insert into htasks
            //                               (wo_number
            //                               ,parts_no
            //                               ,process_name
            //                               ,process_step
            //                               ,task_type
            //                               ,task
            //                               ,perform_type
            //                               ,creation_date
            //                               ,created_by)
            //                         select
            //                               {0},
            //                               '-1',
            //                               '{1}',
            //                               '',
            //                               'NOTE',
            //                               '{2}',
            //                               'MANUAL',
            //                               getdate(),
            //                               'ProcessHandler/OperationAdjustion'
            //                            from htasks where wo_number='{0}' and process_name in (
            //                                select process_name from hprdroute where wo_number='{0}' and sequence>=(
            //                                  select sequence from  hprdroute where wo_number='{0}' and process_name='{1}')
            //                                );";


            StringReader sr = new StringReader(strSubOrders);

            string strSubOrder           = string.Empty;
            string sql_insert_rework_t   = string.Empty;
            string sql_update_order_t    = string.Empty;
            string sql_insert_task_t     = string.Empty;
            string sql_insert_prdroute_t = string.Empty;

            while ((strSubOrder = sr.ReadLine()) != null)
            {
                //查看目标工序是否在订单的工艺路线中
                DataTable dt = db.ExecuteDataTable("select 1 from hprdroute where wo_number='" + strSubOrder + "' and process_id=" + rework.to_process + ";");
                if (dt.Rows.Count == 0)
                {
                    sql_insert_prdroute_t += string.Format(sql_insert_prdroute, strSubOrder, rework.to_process);
                    db.ExecuteNonQuery(sql_insert_prdroute_t);
                }

                sql_insert_rework_t += string.Format(sql_insert_rework, strSubOrder) + "\r\n";
                sql_update_order_t  += string.Format(sql_update_order, rework.to_process, strSubOrder) + "\r\n";
                //sql_insert_task_t += string.Format(sql_insert_task, strSubOrder, rework.to_process, strReworkNote);
            }

            //if (db.ExecuteNonQuery(sql_insert_prdroute_t) == -1) {
            //    rs.status = 0;
            //    rs.msg = rh.GenMsg(_service, rs.msg, sql_insert_rework_t);
            //    rs.item = rh.GenItem(strSubOrder);

            //    //rh.Response(context, rs);
            //} else
            if (db.ExecuteNonQuery(sql_update_order_t) == -1)
            {
                rs.status = 0;
                rs.msg    = rh.GenMsg(_service, rs.msg, sql_update_order_t);
                rs.item   = rh.GenItem(strSubOrder);

                //rh.Response(context, rs);
            }
            else if (db.ExecuteNonQuery(sql_insert_rework_t) == -1)
            {
                rs.status = 0;
                rs.msg    = rh.GenMsg(_service, rs.msg, sql_insert_task_t);
                rs.item   = rh.GenItem(strSubOrder);

                //rh.Response(context, rs);
            }
            else
            {
                rs.status = 1;
                rs.msg    = "";

                rh.Response(context, rs);
            }


            string strJson = JsonConvert.SerializeObject(rs);

            strJson = JsonConvert.SerializeObject(rs);
            context.Response.Clear();
            context.Response.ContentEncoding = Encoding.UTF8;
            context.Response.ContentType     = "application/json";
            context.Response.Write(strJson);
            context.Response.Flush();
            context.Response.End();
        }
Exemplo n.º 20
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //base.OnActionExecuting(filterContext);
            //读取请求上下文中的Controller,Action,Id
            var routes = new RouteCollection();

            RouteConfig.RegisterRoutes(routes);
            RouteData routeData = routes.GetRouteData(filterContext.HttpContext);

            //取出区域的控制器Action,id
            string ctlName = filterContext.Controller.ToString();

            string[] routeInfo  = ctlName.Split('.');
            string   controller = null;
            string   action     = null;
            string   id         = null;

            int iAreas = Array.IndexOf(routeInfo, "Areas");

            if (iAreas > 0)
            {
                Area = routeInfo[iAreas + 1];//取区域及控制器
            }

            int ctlIndex = Array.IndexOf(routeInfo, "Controllers");

            ctlIndex++;
            controller = routeInfo[ctlIndex].Replace("Controller", "").ToLower();

            string url = HttpContext.Current.Request.Url.ToString().ToLower();

            string[] urlArray    = url.Split('/');
            int      urlCtlIndex = Array.IndexOf(urlArray, controller);

            urlCtlIndex++;
            if (urlArray.Count() > urlCtlIndex)
            {
                action = urlArray[urlCtlIndex];
            }
            urlCtlIndex++;
            if (urlArray.Count() > urlCtlIndex)
            {
                id = urlArray[urlCtlIndex];
            }
            //url
            action = string.IsNullOrEmpty(action) ? "index" : action;
            int actionIndex = action.IndexOf("?", 0);

            if (actionIndex > 1)
            {
                action = action.Substring(0, actionIndex);
            }

            id = string.IsNullOrEmpty(id) ? "" : id;

            #region wechat project add
            var actionParameters = filterContext.ActionDescriptor.GetParameters();
            foreach (var p in actionParameters)
            {
                if (p.ParameterType == typeof(string))
                {
                    if (filterContext.ActionParameters[p.ParameterName] != null)
                    {
                        filterContext.ActionParameters[p.ParameterName] = ResultHelper.FormatStr(filterContext.ActionParameters[p.ParameterName].ToString());
                    }
                }
            }
            #endregion

            //URL路径
            string       filePath = HttpContext.Current.Request.FilePath;
            AccountModel account  = filterContext.HttpContext.Session["Account"] as AccountModel;
            if (ValidDataPermission(account, controller, action, filePath))
            {
                return;
            }
            else
            {
                filterContext.Result = new EmptyResult();
                return;
            }
        }
Exemplo n.º 21
0
        public HttpResponseMessage SelStudent([FromBody] SelStuInfo m)
        {
            var      filter   = new BsonDocument();
            ObjectId objectid = new ObjectId();

            if (ObjectId.TryParse(m.ExamID, out objectid))
            {
                filter.Add("eid", objectid);
                int AllCount = MongoDbHelper.GetCount <St_Info>(DbName.St_Info, filter);
                if (!string.IsNullOrEmpty(m.School))
                {
                    int id = -1;
                    if (int.TryParse(m.School, out id))
                    {
                        filter.Add("sid", m.School);
                    }
                    else
                    {
                        filter.Add("snm", m.School);
                    }
                }
                if (!string.IsNullOrEmpty(m.StudentID))
                {
                    filter.Add("stid", m.StudentID);
                }
                if (!string.IsNullOrEmpty(m.StudentName))
                {
                    filter.Add("nm", m.StudentName);
                }
                var data = MongoDbHelper.GetPagedList1 <St_Info, string>(DbName.St_Info, m.Skip, m.Limit, filter, w => w.stid);

                int Count = MongoDbHelper.GetCount <St_Info>(DbName.St_Info, filter);
                if (Count == 0)
                {
                    return(ResultHelper.OK(new List <string>()));
                }
                var            exam = MongoDbHelper.FindOne <E_Info>(m.ExamID, DbName.E_Info);
                List <SubInfo> lsub = new List <SubInfo>();
                if (m.Area != 0)//前台查询
                {
                    var ppnm = MongoDbHelper.QueryOne <Pp_Nm>(DbName.Pp_Nm, w => w.sid == m.School && w.eid == exam._id);
                    AllCount = ppnm.ct;
                    for (int i = 0; i < exam.sbs.Count; i++)
                    {
                        SubInfo sb = new SubInfo();
                        sb.SubName  = exam.sbs[i].sbnm;
                        sb.StuCount = ppnm.sbnms.Where(w => w.sbid == exam.sbs[i]._id).FirstOrDefault() == null ? 0 : ppnm.sbnms.Where(w => w.sbid == exam.sbs[i]._id).FirstOrDefault().sct;
                        lsub.Add(sb);
                    }
                }
                else
                {
                    for (int i = 0; i < exam.sbs.Count; i++)
                    {
                        SubInfo sb = new SubInfo();
                        sb.SubName  = exam.sbs[i].sbnm;
                        sb.StuCount = exam.sbs[i].stct;
                        lsub.Add(sb);
                    }
                }
                List <StudentInfo> lst = new List <StudentInfo>();
                for (int i = 0; i < data.Count; i++)
                {
                    StudentInfo s = new StudentInfo();
                    s.ID         = data[i]._id.ToString();
                    s.ExamID     = data[i].eid.ToString();
                    s.Class      = data[i].cls;
                    s.IdCard     = data[i].idcd;
                    s.Name       = data[i].nm;
                    s.SchoolID   = data[i].sid;
                    s.SchoolName = data[i].snm;
                    s.StudentID  = data[i].stid;
                    s.Type       = data[i].tp;
                    for (int j = 0; j < data[i].subEs.Count; j++)
                    {
                        SubInfo sub = new SubInfo();
                        sub.SubID      = data[i].subEs[j].sbid.ToString();
                        sub.SubName    = data[i].subEs[j].sbnm;
                        sub.SubRoom    = data[i].subEs[j].sbrm;
                        sub.SubSite    = data[i].subEs[j].sbst;
                        sub.SubTeacher = data[i].subEs[j].sbtch;
                        s.Subs.Add(sub);
                    }
                    lst.Add(s);
                }
                return(ResultHelper.OK(new { Data = lst, Count = Count, SubCount = lsub, AllCount = AllCount }));
            }
            return(ResultHelper.Failed("未找到该次考试信息"));
        }
        public async Task <IActionResult> SearchForRestaurantAsync(string search)
        {
            var queryResult = await queryDispatcher.PostAsync <OrderSearchForRestaurantsQuery, ICollection <RestaurantViewModel> >(new OrderSearchForRestaurantsQuery(search), null);

            return(ResultHelper.HandleResult(queryResult, failureMessageService));
        }
Exemplo n.º 23
0
        /// <summary>
        ///     更新设备数据
        /// </summary>
        /// <param name="update"></param>
        /// <returns></returns>
        public static async Task <XResponseMessage> ProcessDeviceUpdate(DeviceUpdateData update)
        {
            if (update == null)
            {
                throw new ArgumentNullException("update");
            }

            //更新设备
            if (update.Devices != null && update.Devices.Any())
            {
                var updateList = new List <DeviceDto>();
                var setList    = new List <DeviceExceptionSetDto>();

                //foreach (var deviceModel in update.Facility.Where(d => d != null))
                update.Devices.Where(d => d != null).ForEach(async deviceModel =>
                {
                    var devDb = await _deviceService.GetDeviceByIdAsny(deviceModel.Serialnum);
                    //if (devDb == null)
                    //{
                    devDb.Serialnum           = deviceModel.Serialnum;
                    devDb.Name                = deviceModel.Name;
                    devDb.FacilitySerialnum   = deviceModel.FacilitySerialnum;
                    devDb.DeviceTypeSerialnum = deviceModel.DeviceTypeSerialnum;
                    devDb.Unit                = deviceModel.Unit;
                    devDb.ProcessedValue      = deviceModel.ProcessedValue;
                    devDb.ShowValue           = deviceModel.ShowValue;
                    devDb.CreateTime          = devDb.UpdateTime = deviceModel.UpdateTime;
                    //devDb.Save();
                    updateList.Add(devDb);
                    var set = await _deviceExceptionSetService.GetDeviceExceptionSetByDeviceIdAsny(devDb.Serialnum) ??
                              new DeviceExceptionSetDto()
                    {
                        DeviceSerialnum = devDb.Serialnum
                    };
                    if (deviceModel.Max != null)
                    {
                        set.Max = deviceModel.Max.Value;
                    }
                    if (deviceModel.Min != null)
                    {
                        set.Min = deviceModel.Min.Value;
                    }
                    setList.Add(set);
                    //}
                });

                try
                {
                    if (updateList.Count() > 0 && updateList != null)
                    {
                        updateList.ForEach(dev =>
                        {
                            DeviceDto device = null;
                            if (_redis.Exists("device") == 1)
                            {
                                device = _redis.Smember <DeviceDto>("device", DataType.Protobuf).Find(d => d.Serialnum.EqualIgnoreCase(dev.Serialnum));
                            }
                            if (device != null)
                            {
                                _redis.Srem("device", dev, DataType.Protobuf);
                            }
                            //await _deviceService.AddDevice(dev);//保存设备
                            _redis.Sadd("device", dev, DataType.Protobuf);
                        });
                    }
                    if (setList.Count() > 0 && setList != null)
                    {
                        setList.ForEach(async set =>
                        {
                            await _deviceExceptionSetService.AddDeviceExceptionSet(set); //保存设备异常区间
                        });
                    }
                }
                catch (Exception ex)
                {
                    return(ResultHelper.CreateMessage("", ErrorType.InternalError, null, ex));
                }
            }

            //更新音视频设备
            //var cameraDb = FacilityCamera.FindAllWithCache().ToList();
            if (update.Cameras != null && update.Cameras.Any())
            {
                var cameraDb = new List <FacilityCameraDto>();
                update.Cameras.ForEach(async mediaData =>
                {
                    if (mediaData != null)
                    {
                        var cam = await _facilityCameraService.GetFacilityCameraByIdAsny(mediaData.DeviceCode);
                        if (cam != null)
                        {
                            cam.FacilitySerialnum = mediaData.FacilityCode;
                            cam.IP       = mediaData.Url;
                            cam.HttpPort = mediaData.MediaPort;
                            cam.DataPort = mediaData.ContrPort;
                            cam.UserID   = mediaData.User;
                            cam.UserPwd  = mediaData.Pwd;
                            cam.Channel  = mediaData.Channel;
                            cameraDb.Add(cam);
                        }
                    }
                });
                try
                {
                    //保存设施摄像机
                    cameraDb.ForEach(c =>
                    {
                        //await _facilityCameraService.AddFacilityCamera(c);
                        FacilityCameraDto camera = null;
                        if (_redis.Exists("facilityCamera") == 1)
                        {
                            camera = _redis.Smember <FacilityCameraDto>("facilityCamera", DataType.Protobuf).Find(fc => fc.Serialnum.EqualIgnoreCase(c.Serialnum));
                        }
                        if (camera != null)
                        {
                            _redis.Srem("facilityCamera", camera, DataType.Protobuf);
                        }
                        _redis.Sadd("facilityCamera", camera, DataType.Protobuf);
                    });
                }
                catch (Exception ex)
                {
                    return(ResultHelper.CreateMessage("", ErrorType.InternalError, null, ex));
                }
            }

            return(null);
        }
        public async Task <IActionResult> GetRestaurantAsync(Guid restaurantId)
        {
            var queryResult = await queryDispatcher.PostAsync <GetRestaurantByIdQuery, RestaurantViewModel>(new GetRestaurantByIdQuery(new RestaurantId(restaurantId)), null);

            return(ResultHelper.HandleResult(queryResult, failureMessageService));
        }
Exemplo n.º 25
0
        public ActionResult Modify(GroupUser subject)
        {
            ResultHelper objResult = null;

            try
            {
                using (LedDb db = new LedDb())
                {
                    if (ModelState.IsValid)
                    {
                        GroupUser aSubject = db.GroupUser.Where(p => p.Id == subject.Id).FirstOrDefault();
                        //aSubject.CardName = subject.CardName;
                        //aSubject.CardModel = subject.CardModel;
                        //aSubject.ScreenCount = subject.ScreenCount;
                        //aSubject.ScreenNams = subject.ScreenNams;
                        aSubject          = subject;
                        aSubject.UpdateDt = DateTime.Now;
                        if (db.SaveChanges() > 0)
                        {
                            objResult = new ResultHelper()
                            {
                                Status = true,
                                Ret    = 0,
                                Obj    = subject,
                                Msg    = "Edit Success!",
                                Desc   = "Edit Success!"
                            };
                        }
                        else
                        {
                            objResult = new ResultHelper()
                            {
                                Desc   = "Edit Faile,please try again.",
                                Msg    = "Edit Faile,please try again.",
                                Obj    = null,
                                Ret    = -1,
                                Status = false
                            };
                        }
                    }
                    else
                    {
                        objResult = new ResultHelper()
                        {
                            Desc   = " Faile,please try again",
                            Msg    = " Faile,please try again",
                            Obj    = null,
                            Ret    = -1,
                            Status = false
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                objResult = new ResultHelper()
                {
                    Desc   = ex.Message,
                    Msg    = ex.Message,
                    Obj    = null,
                    Ret    = -1,
                    Status = false
                };
            }
            return(Json(objResult));
        }
Exemplo n.º 26
0
        /// <summary>
        /// 处理设备更新数据
        /// </summary>
        /// <param name="device">设备更新数据</param>
        /// <returns></returns>
        public async Task <XResponseMessage> ProcessAsync(DeviceModel device)
        {
            var d = await _deviceService.GetDeviceByIdAsny(device.Serialnum);

            if (d == null)
            {
                return(ResultHelper.CreateMessage("设备不存在", ErrorType.DeviceNotExists));
            }
            var deviceType = await _deviceTypeService.GetByIdAsync(device.DeviceTypeSerialnum);

            if (deviceType == null)
            {
                return(ResultHelper.CreateMessage("设备类型不存在", ErrorType.DeviceTypeNotExists));
            }
            var item = await _deviceService.GetDeviceByIdAsny(device.Serialnum);

            //数据库中不存在该设备并且更新时间大于最新的更新时间
            if (item == null || device.UpdateTime < item.UpdateTime)
            {
                return(null);
            }
            item.Serialnum           = device.Serialnum;
            item.Name                = device.Name;
            item.DeviceTypeSerialnum = device.DeviceTypeSerialnum;
            item.FacilitySerialnum   = device.FacilitySerialnum;
            item.UpdateTime          = device.UpdateTime;
            item.Unit                = device.Unit;
            item.ProcessedValue      = device.ProcessedValue;
            item.ShowValue           = device.ShowValue;
            item.RelayType           = device.RelayType;

            var deviceset = await _deviceExceptionSet.GetDeviceExceptionSetByDeviceIdAsny(device.Serialnum);

            //创建设备异常区间
            var set = new DeviceExceptionSetDto
            {
                Max             = device.Max,
                Min             = device.Min,
                DeviceSerialnum = device.Serialnum,
                Status          = true,
                CreateTime      = device.UpdateTime,
                UpdateTime      = device.UpdateTime
            };

            if (deviceset == null)
            {
                set.Serialnum = Guid.NewGuid().ToString();
                await _deviceExceptionSet.AddDeviceExceptionSet(set);
            }
            else
            {
                set.Serialnum = deviceset.Serialnum;
                await _deviceExceptionSet.UpdateAsny(set);
            }
            try
            {
                var result = await _deviceService.UpdateDevice(item);

                LogHelper.Trace("[设备]设备{0}{1}更新{2}", device.Name, device.Serialnum, result);
                return(ResultHelper.CreateMessage($"更新设备{(result ? "成功" : "失败")}",
                                                  result ? ErrorType.NoError : ErrorType.InternalError));
            }
            catch (AggregateException ex)
            {
                LogHelper.Error(ex.ToString());
                return(ResultHelper.CreateExceptionMessage(ex, "更新设备失败"));
            }
        }
Exemplo n.º 27
0
        public ActionResult Add(GroupUser subject)
        {
            ResultHelper objResult = null;

            try
            {
                using (LedDb db = new LedDb())
                {
                    if (ModelState.IsValid)
                    {
                        subject.UpdateDt = DateTime.Now;
                        subject.CreateDt = DateTime.Now;
                        subject.IsDel    = 0;
                        db.GroupUser.Add(subject);
                        if (db.SaveChanges() > 0)
                        {
                            objResult = new ResultHelper()
                            {
                                Status = true,
                                Ret    = 0,
                                Obj    = subject,
                                Msg    = "Add  Success!",
                                Desc   = "Add  Success!"
                            };
                        }
                        else
                        {
                            objResult = new ResultHelper()
                            {
                                Desc   = "Add  Faile,please try again.",
                                Msg    = "Add  Faile,please try again.",
                                Obj    = null,
                                Ret    = -1,
                                Status = false
                            };
                        }
                    }
                    else
                    {
                        objResult = new ResultHelper()
                        {
                            Desc   = " Faile,please try again",
                            Msg    = " Faile,please try again",
                            Obj    = null,
                            Ret    = -1,
                            Status = false
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                objResult = new ResultHelper()
                {
                    Desc   = ex.Message,
                    Msg    = ex.Message,
                    Obj    = null,
                    Ret    = -1,
                    Status = false
                };
            }
            return(Json(objResult));
        }
Exemplo n.º 28
0
        public bool Edit(ref ValidationErrors errors, SysUserEditModel model)
        {
            try
            {
                SysUser entity = m_Rep.GetById(model.Id);
                if (entity == null)
                {
                    errors.Add(Resource.Disable);
                    return(false);
                }
                entity.TrueName         = model.TrueName;
                entity.Card             = model.Card;
                entity.MobileNumber     = model.MobileNumber;
                entity.PhoneNumber      = model.PhoneNumber;
                entity.QQ               = model.QQ;
                entity.EmailAddress     = model.EmailAddress;
                entity.OtherContact     = model.OtherContact;
                entity.Province         = model.Province;
                entity.City             = model.City;
                entity.Village          = model.Village;
                entity.Address          = model.Address;
                entity.State            = model.State;
                entity.CreateTime       = model.CreateTime;
                entity.CreatePerson     = model.CreatePerson;
                entity.Sex              = model.Sex;
                entity.Birthday         = ResultHelper.StringConvertDatetime(model.Birthday);
                entity.JoinDate         = ResultHelper.StringConvertDatetime(model.JoinDate);
                entity.Marital          = model.Marital;
                entity.Political        = model.Political;
                entity.Nationality      = model.Nationality;
                entity.Native           = model.Native;
                entity.School           = model.School;
                entity.Professional     = model.Professional;
                entity.Degree           = model.Degree;
                entity.DepId            = model.DepId;
                entity.PosId            = model.PosId;
                entity.Expertise        = model.Expertise;
                entity.JobState         = model.JobState;
                entity.Photo            = model.Photo;
                entity.Attach           = model.Attach;
                entity.Lead             = model.Lead;
                entity.LeadName         = model.LeadName;
                entity.IsSelLead        = model.IsSelLead;
                entity.IsReportCalendar = model.IsReportCalendar;
                entity.IsSecretary      = model.IsSecretary;

                if (m_Rep.Edit(entity))
                {
                    return(true);
                }
                else
                {
                    errors.Add(Resource.NoDataChange);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                errors.Add(ex.Message);
                ExceptionHander.WriteException(ex);
                return(false);
            }
        }
Exemplo n.º 29
0
        public virtual object Execute(ExecutionInformation info, IReadOnlyList <ICommand> arguments, IReadOnlyList <Type> returnTypes)
        {
            // Make arguments lazy, we only want to execute them once
            arguments = arguments.Select(c => new LazyCommand(c)).ToArray();
            var parameters = FitArguments(info, arguments, returnTypes, out int availableArguments);

            // Check if we were able to set enough arguments
            int wantArgumentCount = Math.Min(parameters.Length, RequiredParameters);

            if (availableArguments < wantArgumentCount)
            {
                if (returnTypes.Contains(typeof(ICommand)))
                {
                    return(arguments.Count > 0
                                                ? (object)new AppliedCommand(this, arguments)
                                                : this);
                }
                throw ThrowAtLeastNArguments(wantArgumentCount);
            }

            if (returnTypes[0] == null)
            {
                // Evaluate
                ExecuteFunction(parameters);
                return(null);
            }

            if (returnTypes[0] == typeof(ICommand))
            {
                // Return a command if we can take more arguments
                if (CommandParameter.Any(p => p.Type == typeof(string[])) || availableArguments < NormalParameters)
                {
                    return(new AppliedCommand(this, arguments));
                }
            }

            Log.Debug("Iterating over return types [{@returnTypes}]", returnTypes);

            var result = ExecuteFunction(parameters);

            if (ResultHelper.IsValidResult(result, returnTypes))
            {
                Log.Debug("{0} can be directly returned", result);
                return(result);
            }

            if (result == null)
            {
                throw new CommandException("Couldn't find a proper command result for function " + internCommand.Name, CommandExceptionReason.NoReturnMatch);
            }
            var unwrapedResult     = UnwrapReturn(result);
            var resultType         = result.GetType();
            var unwrapedResultType = unwrapedResult.GetType();

            // Take first fitting command result
            foreach (var returnType in returnTypes)
            {
                if (returnType == null)
                {
                    return(null);
                }

                if (returnType.IsAssignableFrom(resultType))
                {
                    return(ResultHelper.ToResult(returnType, result));
                }
                else if (returnType.IsAssignableFrom(unwrapedResultType))
                {
                    return(ResultHelper.ToResult(returnType, unwrapedResult));
                }
                else if (returnType == typeof(string))
                {
                    Log.Debug("Convert result to a string");
                    var resultStr = result.ToString();
                    if (!string.IsNullOrEmpty(resultStr))
                    {
                        return(new PrimitiveResult <string>(resultStr));
                    }
                }
                else if (BasicTypes.Contains(returnType))
                {
                    if (BasicTypes.Contains(unwrapedResultType) && unwrapedResultType != typeof(string))
                    {
                        // Automatically try to convert between primitive types
                        try
                        {
                            return(ResultHelper.ToResult(resultType,
                                                         Convert.ChangeType(unwrapedResult, returnType, CultureInfo.InvariantCulture)));
                        }
                        catch
                        {
                        }
                    }
                }
                else if (returnType == typeof(JsonObject))
                {
                    if (result is JsonObject jsonResult)
                    {
                        return(jsonResult);
                    }
                    else
                    {
                        return(Activator.CreateInstance(typeof(JsonValue <>).MakeGenericType(result.GetType()), result));
                    }
                }
                // Ignore unknown types
            }
            throw new CommandException("Couldn't find a proper command result for function " + internCommand.Name, CommandExceptionReason.NoReturnMatch);
        }
        public Response Execute(User currentUser, string request)
        {
            var req = JsonConvert.DeserializeObject <Request <CoachStudent> >(request);
            //实体转换
            List <CoachBootcampStudent> studentList = new List <CoachBootcampStudent>();

            foreach (var item in req.Entities)
            {
                CoachBootcampStudent student = new CoachBootcampStudent();
                var coachStudent             = item as CoachStudent;
                student.CoachBootcampId = coachStudent.CoachBootcampId;
                student.StudentId       = coachStudent.UserId;
                student.RowState        = coachStudent.RowState;
                studentList.Add(student);
            }
            //开始业务逻辑操作
            Response rsp        = ResultHelper.CreateResponse();
            var      studentObj = req.FirstEntity();

            if (studentObj.RowState == RowState.Added)//添加
            {
                foreach (var obj in studentList)
                {
                    //先检查是否已添加
                    var student = GetCoachBootcampStudent(obj);
                    if (student != null)
                    {
                        return(ResultHelper.Fail("学员:[ " + student.StudentName + " ]已添加,不能再添加"));
                    }
                    //再添加
                    var bootcamp = CoachHelper.Instance.GetCoachBootcampById(obj.CoachBootcampId);
                    if (bootcamp != null)
                    {
                        obj.SealedOrganizationId = bootcamp.SealedOrganizationId;
                    }
                    else
                    {
                        return(ResultHelper.Fail("封闭机构Id获取失败"));
                    }
                    List <EntityBase> entites = new List <EntityBase>();
                    if (obj.RowState == RowState.Added)
                    {
                        obj.TrySetNewEntity();
                    }
                    entites.Add(obj);
                    rsp = DbContext.GetInstance().Execute(CommandHelper.CreateSave(entites));
                    SystemHelper.CheckResponseIfError(rsp);
                    //为学员充值集训余额次数
                    SaveSealedCoachStudentMoney(obj, bootcamp);
                }
            }
            else if (studentObj.RowState == RowState.Deleted) //删除
            {
                CoachBootcampStudent coachBootcampStudent = new CoachBootcampStudent();
                //删除学员的余额信息
                coachBootcampStudent = CoachHelper.Instance.GetBootcampStudentById(studentObj.Id);
                DeleteStudentBalance(coachBootcampStudent);
                //删除学员
                SystemHelper.Instance.DeleteEntity(coachBootcampStudent);
            }

            return(rsp);
        }