Пример #1
0
        /// <summary>
        /// 修改用户
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult GetUserById(Guid id)
        {
            var result = new DataResults <User>();

            try
            {
                var user = new UserBLL().GetUserById(id);
                if (user == null)
                {
                    result.Msg = "用户不存在";
                    return(Json(result));
                }
                else
                {
                    result.Success = true;
                    result.Data    = user;
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                result.Msg = string.Format("加载失败!{0}", ex.Message);
                return(Json(result));
            }
        }
Пример #2
0
        public IActionResult Register(RegisterModel model)
        {
            string[] zones    = { "Unsociable", "Third-Class", "First-Class", "Sick", "Noisy" };
            string[] messages =
            {
                "You like people",
                "You are too rich",
                "You spend too little",
                "You look after yourself too much",
                "You like peace and quiet"
            };

            Random rnd   = new Random();
            int    value = rnd.Next(0, 5);

            // Get data here.
            var dataModel = new DataResults
            {
                Name    = model.firstNameInput + " " + model.lastNameInput,
                Zone    = zones[value],
                Message = messages[value]
            };

            return(View("Confirmation", dataModel));
        }
Пример #3
0
        /// <summary>
        /// 检查是否第一次要修改密码
        /// </summary>
        /// <returns></returns>
        public ActionResult CheckIsChangePwd()
        {
            var result = new DataResults <bool>();

            result.Success = true;
            result.Data    = Users.IsChangePwd;
            return(Json(result));
        }
Пример #4
0
        public virtual DataResults <TEntity> Listar(QueryOptions <TEntity, TOrderBy> options, bool _readonly = true, params Expression <Func <TEntity, object> >[] joins)
        {
            var rowsCount = default(int);

            if (_readonly)
            {
                rowsCount = options.Predicate != null?
                            DbSet.IncludeMultiple(joins).Where(options.Predicate).OrderBy(options.OrderBy).AsNoTracking().Count() :
                                DbSet.OrderBy(options.OrderBy).AsNoTracking().Count();
            }
            else
            {
                rowsCount = options.Predicate != null?
                            DbSet.IncludeMultiple(joins).Where(options.Predicate).OrderBy(options.OrderBy).Count() :
                                DbSet.OrderBy(options.OrderBy).Count();
            }

            if (rowsCount <= options.Take || options.Skip <= 0)
            {
                options.Skip = 1;
            }

            var skip = (options.Skip - 1) * options.Take;

            var data = default(IEnumerable <TEntity>);

            if (_readonly)
            {
                data = options.Predicate != null?
                       DbSet.IncludeMultiple(joins).Where(options.Predicate).OrderBy(options.OrderBy).Skip(skip).Take(options.Take).AsNoTracking().ToList() :
                           DbSet.OrderBy(options.OrderBy).Skip(skip).Take(options.Take).AsNoTracking().ToList();
            }
            else
            {
                data = options.Predicate != null?
                       DbSet.IncludeMultiple(joins).Where(options.Predicate).OrderBy(options.OrderBy).Skip(skip).Take(options.Take).ToList() :
                           DbSet.OrderBy(options.OrderBy).Skip(skip).Take(options.Take).ToList();
            }

            var dataResults = new DataResults <TEntity>();

            dataResults.Count = rowsCount;

            dataResults.Data = data;

            return(dataResults);
        }
Пример #5
0
        public ScreenImageUploadResponse UploadFileToSaber(string filePath, int uploadType = 0)
        {
            string url = conf.UploadRobotScreenUrl;
            CaptchaImageUploadRequest req = new CaptchaImageUploadRequest();

            req.machineCode = robot.GetMachineCode();
            req.token       = "devJustTest";
            req.uid         = KK.GetFileNameNoSuffix(filePath);
            req.timestamp   = KK.CurrentMills();
            req.from        = "test";
            req.uploadType  = uploadType;

            int httpStatus;
            DataResult <ScreenImageUploadResponse> dr = HttpClients
                                                        .PostWithFiles <DataResult <ScreenImageUploadResponse> >(url, req, new List <string> {
                filePath
            }, out httpStatus);

            logger.InfoFormat("upload file#{0}, result is {1}", req.uid, Jsons.ToJson(dr));

            return(DataResults.IsOK(dr) ? dr.Data : null);
        }
Пример #6
0
        //http://stackoverflow.com/questions/1179816/best-practices-for-serializing-objects-to-a-custom-string-format-for-use-in-an-ou
        public async Task <byte[]> GetZipFile(List <string> schoolIds,
                                              //List<string> schoolYears,

                                              //List<string> terms,
                                              //List<string> subjects,
                                              //List<string> courses,
                                              List <string> teachers,
                                              List <string> sections,
                                              string oneRosterVersion)
        {
            var           model       = new DataResults();
            List <string> schoolYears = new List <string>();

            schoolYears.Add("2020");
            var inputs = new FilterInputs
            {
                Schools     = schoolIds,
                SchoolYears = schoolYears,
                //Terms = terms,
                //Subjects = subjects,
                //Courses = courses,
                Teachers  = teachers,
                Sections  = sections,
                SchoolIds = new List <string>()
            };

            model = await ApiCalls.GetDataResults(inputs, oneRosterVersion);

            var csvFilesDirectory    = "~/CsvFiles";
            var csvDirectoryFullName = CommonUtils.PathProvider.MapPath(csvFilesDirectory);

            var directoryGuid         = Guid.NewGuid().ToString();
            var tempDirectory         = csvFilesDirectory + "/" + directoryGuid;
            var tempDirectoryFullName = CommonUtils.PathProvider.MapPath(tempDirectory);

            Directory.CreateDirectory(tempDirectoryFullName);
            WriteObjectToCsv(model.Orgs, tempDirectoryFullName, "orgs.csv", oneRosterVersion);
            WriteObjectToCsv(model.Users, tempDirectoryFullName, "users.csv", oneRosterVersion);
            WriteObjectToCsv(model.Courses, tempDirectoryFullName, "courses.csv", oneRosterVersion);
            WriteObjectToCsv(model.Classes, tempDirectoryFullName, "classes.csv", oneRosterVersion);
            WriteObjectToCsv(model.Enrollments, tempDirectoryFullName, "enrollments.csv", oneRosterVersion);
            WriteObjectToCsv(model.AcademicSessions, tempDirectoryFullName, "academicSessions.csv", oneRosterVersion);
            WriteObjectToCsv(model.Demographics, tempDirectoryFullName, "demographics.csv", oneRosterVersion);
            if (oneRosterVersion == OneRosterVersions.OR_1_1)
            {
                WriteObjectToCsv(model.Manifest, tempDirectoryFullName, "manifest.csv", oneRosterVersion);
            }

            var zipPath = Path.Combine(csvDirectoryFullName, directoryGuid + ".zip");

            var zip = ZipFile.Open(zipPath, ZipArchiveMode.Create);

            zip.CreateEntryFromFile(tempDirectoryFullName + "\\orgs.csv", "orgs.csv");
            zip.CreateEntryFromFile(tempDirectoryFullName + "\\users.csv", "users.csv");
            zip.CreateEntryFromFile(tempDirectoryFullName + "\\courses.csv", "courses.csv");
            zip.CreateEntryFromFile(tempDirectoryFullName + "\\classes.csv", "classes.csv");
            zip.CreateEntryFromFile(tempDirectoryFullName + "\\enrollments.csv", "enrollments.csv");
            zip.CreateEntryFromFile(tempDirectoryFullName + "\\academicSessions.csv", "academicSessions.csv");
            zip.CreateEntryFromFile(tempDirectoryFullName + "\\demographics.csv", "demographics.csv");
            if (oneRosterVersion == OneRosterVersions.OR_1_1)
            {
                zip.CreateEntryFromFile(tempDirectoryFullName + "\\manifest.csv", "manifest.csv");
            }
            zip.Dispose();

            var bytes = File.ReadAllBytes(zipPath); //if this eats memory there are other options: http://stackoverflow.com/questions/2041717/how-to-delete-file-after-download-with-asp-net-mvc

            Directory.Delete(tempDirectoryFullName, true);
            File.Delete(zipPath);
            return(bytes);
        }
Пример #7
0
 public Task<ReceiveContext> UpdateProcedureDiagnostic(DataResults procedurediagnosticlist)
 {
     return salObj.UpdateProcedureDiagnostic (procedurediagnosticlist);
 }
Пример #8
0
        /// <summary>
        /// 循环询问验证码图片的答案
        /// </summary>
        private void LoopInquiryCaptchaAnswer()
        {
            while (isInquiryWork)
            {
                long ss = KK.CurrentMills();
                try
                {
                    var  taskContext = CaptchaTaskContext.me;
                    long s1          = KK.CurrentMills();
                    if (CaptchaTaskContext.me.IsAllImagesAnswered())
                    {
                        KK.Sleep(30);
                        continue;
                    }

                    var images = new List <CaptchaAnswerImage>(taskContext.GetImagesOfAwaitAnswer());

                    logger.DebugFormat("inquiry answer, image size is {0}. First Uuid is {1}", images.Count, images[0].Uuid);

                    foreach (var img in images)
                    {
                        if (img == null)
                        {
                            continue;
                        }

                        if (img.Answer == null || img.Answer.Length == 0)
                        {
                            var req = KK.CreateImageAnswerRequest(img.Uuid);

                            DataResult <CaptchaImageAnswerResponse> dr = HttpClients
                                                                         .PostAsJson <DataResult <CaptchaImageAnswerResponse> >(conf.GetCaptchaAnswerUrl, req);

                            if (DataResults.IsOK(dr) && dr.Data?.answer?.Length > 0)
                            {
                                img.Answer = dr.Data.answer;

                                taskContext.PutAnswer(img.Uuid, dr.Data.answer);
                                taskContext.RemoveAwaitImage(img.Uuid);

                                logger.InfoFormat("GET task#{0}'s answer is {1}", img.Uuid, dr.Data.answer);

                                // TODO:这段应该剥离出去
                                // TryInputAnswerAhead(img.Uuid, dr.Data.answer);
                                captchaInputCallbackFunc?.Invoke(img);
                            }
                        }
                        else
                        {
                            taskContext.RemoveAwaitImage(img.Uuid);
                            // captchaInputCallbackFunc?.Invoke(img);
                        }
                    }
                }
                catch (Exception e)
                {
                    logger.Error("LoopInquiryCaptchaAnswer error:", e);
                }
                finally
                {
                    KK.Sleep(30);
                }
            }

            logger.InfoFormat("END LoopInquiryCaptchaAnswer.");
        }