コード例 #1
0
        public async Task <List <MetricFeature> > Create(CreateTagModel model)
        {
            ApplicationUser user = await _context.Users.Where(f => f.Email == model.UserEmail).FirstOrDefaultAsync();

            Feature feature = await _context.Feature.Where(f => f.Name == model.Tag).FirstOrDefaultAsync();

            if (feature == null)
            {
                feature = new Feature {
                    Name = model.Tag
                };
                _context.Feature.Add(feature);
                _context.SaveChanges();
            }

            var newFeature = new MetricFeature
            {
                User      = user,
                Date      = DateTime.Now,
                Duration  = model.Duration,
                PdfId     = model.PdfId,
                Feature   = feature,
                FeatureId = feature.FeatureId
            };

            _context.MetricFeature.Add(newFeature);
            _context.SaveChanges();

            return(_context.MetricFeature.ToList());
        }
コード例 #2
0
        public async Task <IActionResult> Upload([FromBody] IList <MetricPdfFeatureModel> metricPdfFeatures)
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            foreach (var metricPdfFeature in metricPdfFeatures)
            {
                foreach (var metricFeature in metricPdfFeature.Features)
                {
                    var metricFeatureModel = new MetricFeature {
                        PdfId     = Convert.ToInt32(metricPdfFeature.PdfId),
                        FeatureId = metricFeature.FeatureId,
                        Date      = metricFeature.Date,
                        Duration  = metricFeature.Duration,
                        User      = user,
                    };

                    await _context.MetricFeature.AddAsync(metricFeatureModel);
                }
            }

            await _context.SaveChangesAsync();

            return(Ok("ok"));
        }
コード例 #3
0
        public async Task CreateOrUpdateMetricFeature(ApplicationDbContext context, MetricFeature model)
        {
            var metricFeature = context.MetricFeature
                                .FirstOrDefault(x => DateTime.Compare(x.Date, model.Date) == 0 &&
                                                x.Duration == model.Duration &&
                                                x.FeatureId == model.FeatureId &&
                                                x.PdfId == model.PdfId);

            if (metricFeature == null)
            {
                metricFeature = model;
                await context.MetricFeature.AddAsync(metricFeature);
            }
        }