示例#1
0
        public async Task <RecordResult> SignOut([FromBody] SignOutModel model)
        {
            // 从数据库获取签到记录
            Record record = await(from r in _context.Records
                                  where r.SignOutTime == null &&
                                  r.StudentId == model.StudentId
                                  select r).FirstAsync();

            // 签退
            record.SignOut();

            // 更新签到记录
            try
            {
                _context.Update(record);
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                _logger.LogError($"DataBase Error: {e.Message}");
                return(RecordResult.Fail(RecordErrorResource.DataBaseError));
            }

            return(RecordResult.Success());
        }
示例#2
0
        internal static ZuoraResponse ReadSimpleResponse(XmlDocument document)
        {
            ZuoraResponse response = new ZuoraResponse();
            XmlNodeList   results  = GetNamedNodes(document, "result");

            if (results.Count > 1)
            {
                foreach (XmlNode node in results)
                {
                    RecordResult result = ReadSimpleResponse <RecordResult>(node, document);
                    response.Results.Add(result);

                    if (!result.Success)
                    {
                        response.Errors.Add(result.Message);
                    }
                }
            }
            else
            {
                response.Result = ReadSimpleResponse <RecordResult>(results[0], document);
            }

            return(response);
        }
示例#3
0
        // This is executed in a new thread each time, so it is safe to use blocking calls
        protected override void OnIncomingCall(Call call)
        {
            AnswerResult resultAnswer = call.Answer();

            if (!resultAnswer.Successful)
            {
                Completed.Set();
                return;
            }

            // TODO call.Record
            RecordResult resultRecord = call.Record(new CallRecord
            {
                Audio = new CallRecord.AudioParams
                {
                    // Default parameters
                }
            });

            Logger.LogInformation("Recording {0} @ {1}", resultRecord.Successful ? "successful" : "unsuccessful", resultRecord.Url);

            HangupResult resultHangup = call.Hangup();

            Successful = resultRecord.Successful && resultHangup.Successful;
            Completed.Set();
        }
示例#4
0
        public async Task <Result> RegisterGameAsync(Game game)
        {
            Result result = new Result();
            UsedGamesAPIGameResponse response = await _usedGamesAPIGames.CreateAsync(game, _loginManager.GetUserToken());

            if (!response.Success)
            {
                return(result);
            }

            RecordResult recordResult = ImageHandler.MoveTempImgs(response.Game.Id, GetImgsTempFolder(), GetImgsFolder());

            if (!recordResult.Success)
            {
                return(result);
            }

            response = await _usedGamesAPIGames.CreateImagesAsync(response.Game.Id, recordResult.Paths, _loginManager.GetUserToken());

            if (!response.Success)
            {
                return(result);
            }

            ImageHandler.DeleteImgFolder(GetImgsTempFolder());
            result.Success = true;
            return(result);
        }
示例#5
0
        private bool SubmitRequest(SectorTime time)
        {
            bool submitted = false;

            //use ESB or WS as configured:
            if (Settings.Default.UseESB)
            {
                entities.SectorTime result = new entities.SectorTime();
                result.AthleteId = time.AthleteId;
                result.RaceId    = time.RaceId;
                result.SectorId  = time.SectorId;
                result.StartTime = time.StartTime;
                result.EndTime   = time.EndTime;

                RecordResult serviceRequest = new RecordResult();
                serviceRequest.Request.result = result;
                submitted = serviceRequest.Response.RecordResultResult;
            }
            else
            {
                ResultService service = new ResultService();
                submitted = service.RecordResult(time);
            }
            return(submitted);
        }
示例#6
0
        public async Task <RecordResult> ChangeImageAsync(ChangeImagedDto gameDto)
        {
            RecordResult             recordResult = new RecordResult();
            UsedGamesAPIGameResponse response     = await _usedGamesAPIGames.GetImagesAsync(gameDto.GameId, _loginManager.GetUserToken());

            if (!response.Success)
            {
                return(recordResult);
            }

            if (!IsNewImg(response.Images, gameDto.ImgFile.FileName))
            {
                recordResult.ErrorMessage = "This is not a new image";
                return(recordResult);
            }

            recordResult = ImageHandler.Change($"{GetImgsFolder()}/{gameDto.GameId}", gameDto.OldImgRelativePath, gameDto.ImgFile);
            if (!recordResult.Success)
            {
                return(recordResult);
            }

            Image img = new Image(gameDto.ImgId, recordResult.Path, gameDto.GameId);

            response = await _usedGamesAPIGames.UpdateImageAsync(img, _loginManager.GetUserToken());

            recordResult.Success = response.Success;
            return(recordResult);
        }
 public override IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
 {
     //write the itinerary to context, using the typed service request -
     //assumes the message body is not to be altered:
     RecordResult serviceRequest = new RecordResult();
     PipelineComponentHelper.WriteItineraryToMessage(inmsg, serviceRequest);
     return inmsg;
 }
示例#8
0
        private void StartButton_Click(object sender, RoutedEventArgs e)
        {
            if (CacheService.Instance.LaunchPath == null || CacheService.Instance.LaunchPath.Equals(""))
            {
                LSMessageBox.Show("启动异常", "没配置启动路径");
                return;
            }
            List <UserRecord> records = new List <UserRecord>();

            foreach (Student s in CacheService.Instance.GetStudentList())
            {
                UserRecord ur = new UserRecord
                {
                    clazzId      = s.ClassId,
                    experimentId = CacheService.Instance.ExperimentId,
                    studentId    = s.Id,
                    labId        = CacheService.Instance.Lab.id,
                    machineId    = CacheService.Instance.MachineId,
                    slotId       = 1
                };
                records.Add(ur);
            }
            RecordResult rr = rcf.GetRecord(CacheService.Instance.ExperimentId, records, CacheService.Instance.GetStuToken());

            if (rr != null)
            {
                if (rr.code == "200")
                {
                    foreach (RecordResult.Record r in rr.data)
                    {
                        try
                        {
                            CacheService.Instance.GetStudent(r.studentId).RecordId = r.id;
                        }
                        catch (Exception)
                        {
                            LSMessageBox.Show("实验异常", "获取学生异常");
                        }
                    }
                }
                else
                {
                    LSMessageBox.Show("实验异常", rr.message);
                    return;
                }
            }
            else
            {
                LSMessageBox.Show("网络错误", "网络异常");
                return;
            }
            launch(CacheService.Instance.LaunchPath);
            ProcessingWindow processingWindow = new ProcessingWindow();

            processingWindow.Show();
            processingWindow.Owner = this;
            this.Hide();
        }
        public override IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
        {
            //write the itinerary to context, using the typed service request -
            //assumes the message body is not to be altered:
            RecordResult serviceRequest = new RecordResult();

            PipelineComponentHelper.WriteItineraryToMessage(inmsg, serviceRequest);
            return(inmsg);
        }
示例#10
0
        private RecordResult ToDto(RecordProcessingResult model)
        {
            var result = new RecordResult();

            result.Issues  = model.Issues.Select(ToDto).ToList();
            result.Line    = model.Line;
            result.Success = model.Success;

            return(result);
        }
示例#11
0
        public IActionResult UploadTempImage([FromForm] IFormFile img)
        {
            RecordResult recordResult = ImageHandler.Record(_controllerServices.GetImgsTempFolder(), img);

            if (!recordResult.Success)
            {
                return(BadRequest(new { errorMsg = recordResult.ErrorMessage }));
            }

            return(Ok(new { imgPath = recordResult.Path }));
        }
示例#12
0
        public async Task <IActionResult> ChangeImage([FromForm] ChangeImagedDto gameDto)
        {
            RecordResult recordResult = await _controllerServices.ChangeImageAsync(gameDto);

            if (!recordResult.Success)
            {
                return(RedirectToAction("Error", "Home", new { area = "Seller" }));
            }

            return(Ok(new { imgPath = recordResult.Path }));
        }
        public RecordResultCollection GetData(string tCode)
        {
            //Saplocalhost.WebServiceConnectSAP srv = new Saplocalhost.WebServiceConnectSAP();
            var       srv   = new Saplocalhost.WebServiceConnectSAPSoapClient();
            DataTable table = srv.GetEntityDefine(tCode);
            RecordResultCollection resultList = new RecordResultCollection();

            var parentRows = table.Select();
            int sortNumber = 0;

            foreach (var item in parentRows)
            {
                sortNumber++;
                RecordResult result = new RecordResult();
                result.SortNo        = sortNumber;
                result.EntityName    = Convert.ToString(item["实体名"]);
                result.EntityDesc    = Convert.ToString(item["实体描述"]);
                result.DefaultValue  = Convert.ToString(item["默认值"]);
                result.IsMasterTable = Convert.ToString(item["主子标识"]) == "主" ? true : false;
                result.FieldName     = Convert.ToString(item["字段名"]);
                FieldTypeEnum type = new FieldTypeEnum();
                switch (Convert.ToString(item["字段类型"]).ToLower())
                {
                case "string":
                    type = FieldTypeEnum.String;
                    break;

                case "int":
                    type = FieldTypeEnum.Int;
                    break;

                case "bool":
                    type = FieldTypeEnum.Bool;
                    break;

                case "datetime":
                    type = FieldTypeEnum.DateTime;
                    break;

                case "decimal":
                    type = FieldTypeEnum.Decimal;
                    break;
                }
                result.FieldType = type;

                result.FieldDesc = Convert.ToString(item["字段描述"]);

                result.FieldLength = int.Parse(Convert.ToString(item["字段长度"]));

                resultList.Add(result);
            }
            return(resultList);
        }
示例#14
0
        public RecordResultCollection ConvertTableToRecordResult(DataTable table)
        {
            var resultList = new RecordResultCollection();

            var parentRows = table.Select("", "全路径 asc");
            int sortNumber = 0;

            foreach (var item in parentRows)
            {
                sortNumber++;
                var result = new RecordResult();

                result.SortNo       = sortNumber;
                result.EntityName   = Convert.ToString(item["实体名"]);
                result.EntityDesc   = Convert.ToString(item["实体名"]);
                result.TempFullPath = Convert.ToString(item["全路径"]);
                result.DefaultValue = Convert.ToString(item["默认值"]);
                //result.IsMasterTable = Convert.ToString(item["主子标识"]) == "主" ? true : false;
                result.FieldName = Convert.ToString(item["字段名"]);
                int fileLenth = Convert.ToInt32(item["字段长度"]);
                result.FieldType     = SAPFileMapping.SAPFiledTypeToUEPFiledType(Convert.ToString(item["字段类型"]), ref fileLenth);
                item["字段长度"]         = fileLenth;
                result.FieldDesc     = Convert.ToString(item["字段描述"]);
                result.FieldLength   = int.Parse(Convert.ToString(item["字段长度"]));
                result.DecimalLength = int.Parse(Convert.ToString(item["字段小数长度"]));
                result.IsStruct      = item["字段类型"].ToString().Equals("STRUCTURE");

                if (table.Columns.Contains("参数标识"))
                {
                    switch (item["参数标识"].ToString())
                    {
                    case "输入":
                        result.ParamDirection = ParamDirectionEnum.Import;
                        break;

                    case "输出":
                        result.ParamDirection = ParamDirectionEnum.Export;
                        break;

                    default:
                        result.ParamDirection = ParamDirectionEnum.NotKnown;
                        break;
                    }
                }

                resultList.Add(result);
            }
            return(resultList);
        }
示例#15
0
        private static void SubmitResult(SectorTime time)
        {
            SectorTime esbResult = new SectorTime();

            esbResult.AthleteId = time.AthleteId;
            esbResult.RaceId    = time.RaceId;
            esbResult.SectorId  = time.SectorId;
            esbResult.StartTime = time.StartTime;
            esbResult.EndTime   = time.EndTime;

            RecordResult serviceRequest = new RecordResult();

            serviceRequest.Request.result = esbResult;
            bool sucess = serviceRequest.Response.RecordResultResult;
        }
示例#16
0
        public void Response()
        {
            SectorTime result = new SectorTime();
            result.AthleteId = 2;
            result.RaceId = 2;
            result.SectorId = 2;
            result.StartTime = DateTime.Now.AddMinutes(new Random().Next(1, 30));
            result.EndTime = DateTime.Now;

            RecordResult target = new RecordResult();
            target.Request.result = result;

            RecordResultResponse actual = target.Response;
            Assert.AreEqual(true, actual.RecordResultResult);
        }
示例#17
0
        /// <summary>
        /// Gets the response for a query.
        /// </summary>
        /// <typeparam name="E">Entity type.</typeparam>
        /// <param name="input">Query input.</param>
        /// <param name="request">Request.</param>
        /// <returns></returns>
        public static RecordResult GetResponse <E>(this IQueryable <E> input, QueryParameters request)
        {
            var filterParameters = FilterParameters.GetFilterExpression <E>(request.FilterCollection);
            var queryResult      = input.GetData <E>(filterParameters.FilterExpression, string.Join(' ', request.SortingNames), request.PageIndex, request.RecordsCount, filterParameters.Parameters);

            var totalRecordsCount = input.GetCounter <E>(filterParameters.FilterExpression, filterParameters.Parameters);
            var result            = new RecordResult()
            {
                PageIndex         = request.PageIndex,
                TotalPagesCount   = (int)System.Math.Ceiling((float)totalRecordsCount / (float)request.RecordsCount),
                TotalRecordsCount = totalRecordsCount,
                Records           = queryResult.Cast <object>().ToList()
            };

            return(result);
        }
示例#18
0
        public void Response()
        {
            SectorTime result = new SectorTime();

            result.AthleteId = 2;
            result.RaceId    = 2;
            result.SectorId  = 2;
            result.StartTime = DateTime.Now.AddMinutes(new Random().Next(1, 30));
            result.EndTime   = DateTime.Now;

            RecordResult target = new RecordResult();

            target.Request.result = result;

            RecordResultResponse actual = target.Response;

            Assert.AreEqual(true, actual.RecordResultResult);
        }
示例#19
0
        private void FinishWork()
        {
            working = false;
            DateTime rightNow = DateTime.Now;
            Record   record   = new Record();

            record.Time        = rightNow;
            record.DoneMission = labelShow.Content.ToString();
            RecordResult rr = new RecordResult();

            //move to a config letter.
            rr.Read("records.json");
            rr.Add(record);
            rr.Write("records.json");
            textBoxWhenEdit.Text  = "Mission to be set";
            labelShow.Content     = "Mission to be set";
            commitWork.Visibility = Visibility.Hidden;
        }
示例#20
0
        public async Task OnActionExecutionAsync(
            ActionExecutingContext context,
            ActionExecutionDelegate next)
        {
            if (!context.ModelState.IsValid)
            {
                List <string> errorMsgs = new List <string>();
                foreach (var item in context.ModelState.Values)
                {
                    errorMsgs.AddRange(item.Errors.Select(error => error.ErrorMessage));
                }

                context.Result = new JsonResult(RecordResult.Fail(errorMsgs.Distinct().ToArray()));
            }
            else
            {
                var resultContext = await next();
            }
        }
示例#21
0
        internal static SalesforceResponse ReadSimpleResponse(XmlDocument document)
        {
            SalesforceResponse response = new SalesforceResponse();
            XmlNodeList        results  = GetNamedNodes(document, "result");

            if (results.Count > 1)
            {
                foreach (XmlNode node in results)
                {
                    RecordResult result = ReadSimpleResponse <RecordResult>(node, document);
                    response.Results.Add(result);

                    if (!result.Success)
                    {
                        response.Errors.Add(result.Message);
                    }
                }

                response.Success = response.Results.All(x => x.Success);
                if (!response.Success)
                {
                    response.Errors.Add("One or more records failed.");
                }
            }
            else
            {
                var result = ReadSimpleResponse <RecordResult>(results[0], document);

                response.Result = result;
                response.Results.Add(result);

                response.Success = response.Result.Success;
                if (!response.Success)
                {
                    response.Errors.Add(response.Result.Message);
                }
            }

            return(response);
        }
示例#22
0
        public async Task <RecordResult> SignIn([FromBody] SignInModel model)
        {
            // 创建签到记录
            Record record = model.Create();

            // 签到
            record.SignIn();

            // 将记录添加到数据库
            try
            {
                _context.Add(record);
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                _logger.LogError($"DataBase Error: {e.Message}");
                return(RecordResult.Fail(RecordErrorResource.DataBaseError));
            }


            return(RecordResult.Success());
        }
示例#23
0
        public void GetRecord(int experimentId, List <UserRecord> records, String token)
        {
            RestClient  client  = new RestClient(ServerURL.URL);
            RestRequest request = new RestRequest("/api/experiment/{id}/userRecord", Method.POST);

            request.RequestFormat = DataFormat.Json;
            request.AddHeader("x-auth-token", token);
            request.AddUrlSegment("id", experimentId + "");
            request.AddBody(records);
            LSMessageBox.Show("实验异常", "pre");
            client.ExecuteAsync <RecordResult>(request, (response) => {
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    RecordResult rr = response.Data;
                    if (rr.code == "200")
                    {
                        foreach (RecordResult.Record r in rr.data)
                        {
                            try
                            {
                                CacheService.Instance.GetStudent(r.studentId).RecordId = r.id;
                            }
                            catch (Exception)
                            {
                                LSMessageBox.Show("实验异常", "获取学生异常");
                            }
                        }
                    }
                    else
                    {
                        LSMessageBox.Show("实验异常", rr.message);
                        return;
                    }
                }
            });
        }
示例#24
0
        private static void SubmitResult(SectorTime time)
        {
            SectorTime esbResult = new SectorTime();
            esbResult.AthleteId = time.AthleteId;
            esbResult.RaceId = time.RaceId;
            esbResult.SectorId = time.SectorId;
            esbResult.StartTime = time.StartTime;
            esbResult.EndTime = time.EndTime;

            RecordResult serviceRequest = new RecordResult();
            serviceRequest.Request.result = esbResult;
            bool sucess = serviceRequest.Response.RecordResultResult;
        }
示例#25
0
        private bool SubmitRequest(SectorTime time)
        {
            bool submitted = false;
            //use ESB or WS as configured:
            if (Settings.Default.UseESB)
            {
                entities.SectorTime result = new entities.SectorTime();
                result.AthleteId = time.AthleteId;
                result.RaceId = time.RaceId;
                result.SectorId = time.SectorId;
                result.StartTime = time.StartTime;
                result.EndTime = time.EndTime;

                RecordResult serviceRequest = new RecordResult();
                serviceRequest.Request.result = result;
                submitted = serviceRequest.Response.RecordResultResult;
            }
            else
            {
                ResultService service = new ResultService();
                submitted = service.RecordResult(time);
            }
            return submitted;
        }
示例#26
0
        /// <summary>
        /// ネクストの再描画処理
        /// </summary>
        /// <param name="sender">イベント発生源</param>
        /// <param name="e">イベント情報</param>
        /// <param name="fieldNo">フィールド番号</param>
        private void PaintNext(object sender, PaintEventArgs e, int fieldNo)
        {
            if (!IsCapturing)
            {
                return;
            }

            PictureBox nextImg = (PictureBox)sender;

            Graphics nextG = e.Graphics;

            using (Bitmap forAnalyzeBmp = new Bitmap(nextImg.Width, nextImg.Height))
                using (Graphics forAnalyzeG = Graphics.FromImage(forAnalyzeBmp))
                {
                    // ネクストのキャプチャ範囲を取り込む
                    Rectangle nextRect = captureRects.GetNextRect(fieldNo);

                    //取り込んだ画像を解析用のBMPに出力
                    Rectangle dest = new Rectangle(0, 0, 32, 64);
                    Rectangle src  = new Rectangle()
                    {
                        X      = nextRect.X - captureRects.CaptureRect.X,
                        Y      = nextRect.Y - captureRects.CaptureRect.Y,
                        Width  = nextRect.Width,
                        Height = nextRect.Height
                    };
                    forAnalyzeG.DrawImage(screenBmp, dest, src, GraphicsUnit.Pixel);

                    // 取り込んだ画像を画面に出力
                    nextG.DrawImage(forAnalyzeBmp, dest, dest, GraphicsUnit.Pixel);

                    // ツモ情報を解析し、結果を描画
                    CaptureField field = AnalyzeNext(forAnalyzeBmp);
                    if (config.DebugRectEnabled)
                    {
                        DrawDebugNext(nextG, field);
                    }

                    ColorPairPuyo next   = field.Next;
                    RecordResult  result = recorders[fieldNo].DoNext(curFields[fieldNo], next);
                    switch (result)
                    {
                    case RecordResult.RECORD_SUCCESS:
                        updateRecordDataTxt();
                        break;

                    case RecordResult.RECORD_FAILURE:
                        statusLabel.Text = "キャプチャ失敗!!";
                        updateRecordDataTxt();
                        break;

                    case RecordResult.RECORD_FORWARD:
                        stepRecordTxts[fieldNo].Text = recorders[fieldNo].GetStepRecord();
                        break;

                    case RecordResult.RECORD_ENDED:
                        updateRecordDataTxt();
                        break;

                    default:
                        break;
                    }
                }
        }