コード例 #1
0
        public void AddPoint(IHdaPoint point)
        {
            if (point == null)
            {
                throw new ArgumentNullException("point");
            }

            var values = point.GetValues().ToList();

            if (values == null || !values.Any())
            {
                throw new ArgumentException("Точка не содержит значений.");
            }

            var fileGroupId = Guid.NewGuid();

            var rootPath = Path.GetTempPath() + Assembly.GetExecutingAssembly().GetName().Name + "\\" + fileGroupId.ToString() + "\\";

            new FileInfo(rootPath).Directory.Create();

            var blockFiles = CompressedBlocksUtils.SaveToFileByParts(values, "points", rootPath, HDDDataManager.BLOCK_SIZE);

            //Сохраняем заголовок (ссылку на саму точку не храним, ибо она очень много весит)

            AddedPoints.Add(new PointInfo
            {
                Folder      = rootPath,
                Item        = point.Item,
                Description = point.Description,
                EngUnit     = point.EngUnit,
                BlockFiles  = blockFiles,
                ValuesCount = values.Count
            });
        }
コード例 #2
0
        public ActionResult <ScoreDto> Put(Guid userId, Guid courseId, [FromBody] AddedPoints addedPoints)
        {
            if (!_writeScoreRepository.Exists(
                    userId, courseId))
            {
                _writeScoreRepository.Create(new Score(courseId, userId));
                _writeScoreRepository.SaveChanges();
            }

            _writeScoreRepository.AddPoints(userId, courseId, addedPoints.Points);
            _writeScoreRepository.SaveChanges();
            return(NoContent());
        }