Exemplo n.º 1
0
        private bool DoPageSetup(DataGridViewCell cell, bool stayOnPage)
        {
            object ff = cell.Tag;

            int newPage = 0;

            if (ff is OmrCollection)
            {
                OmrCollection    oc = ff as OmrCollection;
                ReviewParameters rp = (ReviewParameters)oc.Tag;
                newPage = rp.PageNumber;
            }
            else if (ff is Field)
            {
                Field f = ff as Field;
                newPage = f.PageNumber;
            }
            else if (ff == null)
            {
                return(false);
            }

            if (masterSheet != null && !stayOnPage)
            {
                AdvanceToNextPage(newPage - currentPage);
            }

            return(newPage == currentPage);
        }
Exemplo n.º 2
0
        public async Task <PagedList <Review> > GetReviewsAsync(Guid productId, ReviewParameters reviewParameters, bool trackChanges)
        {
            var reviews = await FindByCondition(p => p.ProductId.Equals(productId), trackChanges)
                          .FilterReviews(reviewParameters.MinRaiting, reviewParameters.MaxRaiting)
                          .Search(reviewParameters.SearchTerm)
                          .Sort(reviewParameters.OrderBy)
                          .ToListAsync();

            return(PagedList <Review> .ToPagedList(reviews, reviewParameters.PageNumber, reviewParameters.PageSize));
        }
Exemplo n.º 3
0
        private void AdvanceToNextZone(int dir)
        {
            int tempColumnIndex = columnIndex;

            tempColumnIndex += dir;

            int min = dgv.Columns[0].Tag == null ? 1 : 0;
            int max = dgv.Columns.Count;// + (dgv.Columns[0].Tag == null ? 0 : 1);

            bool found = true;

            while (found)
            {
                while (tempColumnIndex >= min && tempColumnIndex < max)
                {
                    DataGridViewCell cell = dgv[tempColumnIndex, rowIndex];
                    if (rdbtnAllFields.Checked && ((cell.Tag is Field && !chkSkipNonOMR.Checked) || (cell.Tag is Field == false)))
                    {
                        columnIndex          = tempColumnIndex;
                        cbZones.SelectedItem = dgv.Columns[columnIndex];
                        return;
                    }

                    if (cell.Tag is OmrCollection)
                    {
                        OmrCollection    oc = (OmrCollection)cell.Tag;
                        ReviewParameters rp = (ReviewParameters)oc.Tag;

                        VerificationParameters errorParams = rp.ErroredParameters;

                        if (workspace.VerificationParameters.IsAtLeastOneTrue(errorParams))
                        {
                            columnIndex          = tempColumnIndex;
                            cbZones.SelectedItem = dgv.Columns[columnIndex];
                            return;
                        }
                    }
                    else if (cell.Tag != null && chkSkipNonOMR.Checked == false)
                    {
                        columnIndex          = tempColumnIndex;
                        cbZones.SelectedItem = dgv.Columns[columnIndex];
                        return;
                    }

                    tempColumnIndex += dir;
                }

                tempColumnIndex = dir == 1 ? min : max - 1;
                found           = AdvanceToNextWorkSheet(dir, tempColumnIndex);
            }

            MessageBox.Show("No other matches found for the specified criteria.");
        }
Exemplo n.º 4
0
        public async Task <IActionResult> GetReviewsForProduct(Guid productId, [FromQuery] ReviewParameters reviewParameters)
        {
            if (!reviewParameters.ValidRaitingRange)
            {
                return(BadRequest("Max raiting can't be less than min raiting and more than 10."));
            }

            var reviews = await _repository.Review.GetReviewsAsync(productId, reviewParameters, false);

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(reviews.MetaData));

            var reviewsDto = _mapper.Map <IEnumerable <ReviewDto> >(reviews);

            return(Ok(_dataShaper.ShapeData(reviewsDto, reviewParameters.Fields)));
        }
Exemplo n.º 5
0
        public async Task <ActionResult <IEnumerable <ReviewResponse> > > GetReviews([FromQuery] ReviewParameters parameters, long id)
        {
            var place = await _context.Places.FindAsync(id);

            if (place == null)
            {
                return(NotFound());
            }

            var reviews = _context.Reviews
                          .Include(r => r.User)
                          .Include(r => r.Reactions)
                          .Where(r => r.PlaceID == id)
                          .Where(r => r.Rating >= parameters.MinRating)
                          .Where(r => r.Rating <= parameters.MaxRating)
                          .Where(r =>
                                 r.LastEdited.HasValue
                        ? (r.LastEdited >= parameters.From && r.LastEdited <= parameters.To)
                        : r.Time >= parameters.From && r.Time <= parameters.To);

            var pagedReviews = PagedList <Review> .ToPagedList(reviews, parameters.PageNumber, parameters.PageSize);

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(pagedReviews.Metadata));

            var reviewResponse = _mapper.Map <List <ReviewResponse> >(pagedReviews);

            if (HasJWT)
            {
                foreach (var review in reviewResponse)
                {
                    var userReaction = _context.Reactions.Find(review.ID, CurrentUserId);

                    review.UserReactionIsHelpful = userReaction?.IsHelpful;
                }
            }


            return(reviewResponse);
        }
Exemplo n.º 6
0
        private bool DoZoneSetup(DataGridViewCell cell, bool stayOnPage)
        {
            bool zoneIsOnCurrentPage = DoPageSetup(cell, stayOnPage);

            UpdateNavigationEnables();

            if (!zoneIsOnCurrentPage)
            {
                return(false);
            }

            object ff = cell.Tag;

            if (annotationField != null)
            {
                annotationField.IsVisible = true;
            }

            dgv.CurrentCell = cell;

            string header = cell.OwningColumn.HeaderText;

            this.Text = "Review: " + header;

            LeadRect bounds       = LeadRect.Empty;
            LeadRect answerBounds = LeadRect.Empty;
            string   color        = "Green";

            if (ff is OmrCollection)
            {
                OmrCollection sff = (OmrCollection)ff;

                RasterImage target = GetCroppedImage(masterSheet, sff.Bounds);

                sfp.Visible = true;
                trp.Visible = false;
                sfp.Populate(sff, target, cell);
                bounds = sff.Bounds;
                color  = "Green";

                ReviewParameters       rp = sff.Tag as ReviewParameters;
                VerificationParameters p  = rp.ErroredParameters;
                p.IsReviewed         = true;
                p.UseValueChanged    = sff.Value != sff.OriginalValue;
                rp.ErroredParameters = p;
            }
            else if (ff is OmrField)
            {
                OmrField       omr = (OmrField)ff;
                OmrFieldResult ofr = (OmrFieldResult)omr.Result;

                RasterImage target = GetCroppedImage(masterSheet, omr.Bounds);

                sfp.Visible = false;
                trp.Visible = true;

                trp.Populate(target, cell, ofr.Text);
                bounds = omr.Bounds;
                color  = "Green";
            }
            else if (ff is BarcodeField)
            {
                BarcodeField       bcf  = (BarcodeField)ff;
                BarcodeFieldResult bcfr = (BarcodeFieldResult)bcf.Result;

                RasterImage target = GetCroppedImage(masterSheet, bcf.Bounds);

                sfp.Visible = false;
                trp.Visible = true;

                string value = "";

                if (bcfr != null && bcfr.BarcodeData != null && bcfr.BarcodeData.Count > 0)
                {
                    value = bcfr.BarcodeData[0].Value;
                }

                trp.Populate(target, cell, value);
                bounds = bcf.Bounds;
                color  = "Blue";
            }
            else if (ff is OcrField)
            {
                OcrField       ocf    = (OcrField)ff;
                OcrFieldResult ofr    = (OcrFieldResult)ocf.Result;
                RasterImage    target = GetCroppedImage(masterSheet, ocf.Bounds);

                sfp.Visible = false;
                trp.Visible = true;

                string text       = ofr != null ? ofr.Text : "";
                int    confidence = ofr != null ? ofr.Confidence : -1;

                trp.Populate(target, cell, text, confidence);
                bounds = ocf.Bounds;
                color  = "Red";
            }
            else if (ff is ImageField)
            {
                ImageField       imf  = (ImageField)ff;
                ImageFieldResult imfr = (ImageFieldResult)imf.Result;

                sfp.Visible = false;
                trp.Visible = true;

                if (imfr == null)
                {
                    RasterImage target = GetCroppedImage(masterSheet, imf.Bounds);
                    trp.Populate(target, cell, imf.Name);
                }
                else
                {
                    trp.Populate(imfr.Image, cell, imf.Name);
                }

                bounds = imf.Bounds;
                color  = "Yellow";
            }

            DoAnswerFieldSetup(cell);
            AddHighlight(bounds, color);

            return(true);
        }
Exemplo n.º 7
0
        public async Task <ActionResult <IEnumerable <ReviewUserResponse> > > GetCurrentUserReviews([FromQuery] ReviewParameters parameters)
        {
            var reviews = _context.Reviews
                          .Include(r => r.User)
                          .Include(r => r.Place)
                          .Include(r => r.Place.OpeningTimes)
                          .Include(r => r.Place.PlaceType)
                          .Include(r => r.Reactions)
                          .Where(r => r.UserID == CurrentUserId)
                          .Where(r => r.Rating >= parameters.MinRating)
                          .Where(r => r.Rating <= parameters.MaxRating)
                          .Where(r =>
                                 r.LastEdited.HasValue
                        ? (r.LastEdited >= parameters.From &&
                           r.LastEdited <= parameters.To)
                        : r.Time >= parameters.From &&
                                 r.Time <= parameters.To);

            var pagedReviews = PagedList <Review> .ToPagedList(reviews, parameters.PageNumber, parameters.PageSize);

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(pagedReviews.Metadata));

            var response = _mapper.Map <List <ReviewUserResponse> >(pagedReviews);

            AddUserReactionIsHelpful(response);

            return(response);
        }
Exemplo n.º 8
0
        public void Populate(OmrCollection omr, RasterImage image)
        {
            if (omr.Tag == null)
            {
                return;
            }

            ReviewParameters data = (ReviewParameters)omr.Tag;

            this.omrCollection = omr;

            txtConfidence.Text = omr.Confidence.ToString();
            txtExpected.Text   = omr.Value;

            List <string> values = data.OmrFieldValues;

            lstErrors.Items.Clear();
            lstErrors.Items.AddRange(data.Errors.ToArray());

            lstSelection.Items.Clear();
            lstSelection.Items.AddRange(values.ToArray());
            lstSelection.Items.Add(BLANK);

            if (omr.Value != null)
            {
                string[] selectedValues = omr.Value.Split('|');
                lstSelection.SelectionMode = selectedValues.Length <= 1 ? SelectionMode.One : SelectionMode.MultiSimple;

                for (int i = 0; i < selectedValues.Length; i++)
                {
                    int index = lstSelection.Items.IndexOf(selectedValues[i]);

                    if (index >= 0 && index < lstSelection.Items.Count)
                    {
                        lstSelection.SetSelected(index, true);
                    }
                }
                lstSelection.Focus();

                txtSelection.Text = omr.Value;
            }


            if (lstSelection.SelectedIndex == -1)
            {
                lstSelection.SetSelected(lstSelection.Items.IndexOf(BLANK), true);
            }

            if (data.AnswerVals != null)
            {
                string[] selectedAnsVals = data.AnswerVals.Split('|');
                lstSelection.SelectionMode = selectedAnsVals.Length <= 1 ? SelectionMode.One : SelectionMode.MultiSimple;
            }

            if (image != null)
            {
                resultRiv.Image = image;
                resultRiv.Zoom(ControlSizeMode.FitAlways, 1, LeadPoint.Empty);
            }

            this.Invalidate();
        }