Beispiel #1
0
        void ver_FPVerificationStatus(VerificationStatus Status)
        {
            log.Debug("IN");

            try
            {
                log.Debug("Status:" + Status.ToString());

                if (Status == VerificationStatus.v_OK)
                {
                    log.Info("Fingerprint found for: " + userIDForForm);
                    //MessageBox.Show("Fingerprint found for: " + userIDForForm, "Success");
                    ver.FPVerificationStop();
                    this.Close();
                }
                else if (Status == VerificationStatus.v_NotMatch)
                {
                    MessageBox.Show("Fingerprint did not match any users on record.", "No Match");
                    log.Info("Fingerprint did not match any users on record.");
                    //ver.FPVerificationStop();
                }
            }
            catch (Exception ex)
            {
                log.Error("Error", ex);
                MessageBox.Show(ex.Message, "Error - " + System.Reflection.MethodBase.GetCurrentMethod().Name);
            }
        }
Beispiel #2
0
        private void UpdateVerificationStatus(Data.OnlineDeposit onlineDeposit, VerificationStatus status, UnverifyReasons?unverifyReason, string remarks)
        {
            if (onlineDeposit == null)
            {
                throw new RegoException(DepositErrors.NotFound.ToString());
            }

            var onlineDepositEntity = new Entities.OnlineDeposit(onlineDeposit);

            var now = _paymentQueries.GetBrandDateTimeOffset(onlineDeposit.BrandId);

            DomainEventBase eventCreated = null;

            if (status == VerificationStatus.Unverified)
            {
                eventCreated = onlineDepositEntity.Unverify(_actorInfoProvider.Actor.UserName, remarks, now, unverifyReason.Value);
            }
            if (status == VerificationStatus.Verified)
            {
                eventCreated = onlineDepositEntity.Verify(_actorInfoProvider.Actor.UserName, remarks, now);
            }

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                _repository.SaveChanges();
                _eventBus.Publish(eventCreated);
                scope.Complete();
            }
        }
Beispiel #3
0
        private void SaveClassification(VerificationStatus status)
        {
            String savingFolder = Path.GetDirectoryName(imagePath.Text) + "//Classification//" + status;

            Directory.CreateDirectory(savingFolder);
            pictures[0].Image.Save(savingFolder + "//" + Path.GetFileName(imagePath.Text));
        }
Beispiel #4
0
        public ElastogramSignatura(List <double> inputSignature, VerificationStatus answer = VerificationStatus.NotCalculated,
                                   bool isNormalized = false)
        {
            if (inputSignature.Count != Size)
            {
                throw new ArgumentException();
            }
            if (isNormalized)
            {
                Area                    = inputSignature[0] / AreaNormalizator;
                FibroAngle              = Math.Atan((inputSignature[1] - 0.5) * Math.PI);
                LeftAngle               = Math.Atan((inputSignature[2] - 0.5) * Math.PI);
                RightAngle              = Math.Atan((inputSignature[3] - 0.5) * Math.PI);
                RSquareLeft             = inputSignature[4] * 100;
                RSquareRight            = inputSignature[5] * 100;
                RelativeEstimationLeft  = inputSignature[6] * 100;
                RelativeEstimationRight = inputSignature[7] * 100;
            }
            else
            {
                Area                    = inputSignature[0];
                FibroAngle              = inputSignature[1];
                LeftAngle               = inputSignature[2];
                RightAngle              = inputSignature[3];
                RSquareLeft             = inputSignature[4];
                RSquareRight            = inputSignature[5];
                RelativeEstimationLeft  = inputSignature[6];
                RelativeEstimationRight = inputSignature[7];
            }

            Answer = answer;
        }
 public void SetVerificationStatus(VerificationStatus status, string message = "")
 {
     _onVerification?.Invoke(CrossFirebaseEssentials.Authentication, new VerificationEventArgs {
         Message = message,
         Status  = status
     });
 }
Beispiel #6
0
        public async Task <ActionResult <VerificationStatus> > CreateStatus([FromBody] VerificationStatus statusDto)
        {
            await _unitOfWork.VerificationStatuses.CreateAsync(statusDto);

            await _unitOfWork.CommitAsync();

            return(NoContent());
        }
Beispiel #7
0
        private ServiceOrderStatus GetOrderStatus(OrderInfo order, IList <OrderVerificationItemInfo> orderVerificationItems = null)
        {
            ServiceOrderStatus result = ServiceOrderStatus.Finished;

            if (order.OrderStatus == OrderStatus.WaitBuyerPay)
            {
                result = ServiceOrderStatus.WaitBuyerPay;
            }
            else if (order.OrderStatus == OrderStatus.Closed)
            {
                result = ServiceOrderStatus.Closed;
            }
            else if (order.OrderStatus == OrderStatus.Finished)
            {
                result = ServiceOrderStatus.Finished;
            }
            else
            {
                IList <OrderVerificationItemInfo> source = orderVerificationItems;
                if (orderVerificationItems == null)
                {
                    source = TradeHelper.GetOrderVerificationItems(order.OrderId);
                }
                if (source.Any((OrderVerificationItemInfo d) => d.VerificationStatus == 0.GetHashCode()))
                {
                    result = ServiceOrderStatus.WaitConsumption;
                }
                else if (source.Any((OrderVerificationItemInfo d) => d.VerificationStatus == 3.GetHashCode()))
                {
                    result = ServiceOrderStatus.Expired;
                }
                else if (source.Count() > 0 && source.Count(delegate(OrderVerificationItemInfo d)
                {
                    int verificationStatus = d.VerificationStatus;
                    VerificationStatus verificationStatus2 = VerificationStatus.Refunded;
                    int result2;
                    if (verificationStatus != verificationStatus2.GetHashCode())
                    {
                        int verificationStatus3 = d.VerificationStatus;
                        verificationStatus2 = VerificationStatus.ApplyRefund;
                        result2 = ((verificationStatus3 != verificationStatus2.GetHashCode()) ? 1 : 0);
                    }
                    else
                    {
                        result2 = 0;
                    }
                    return((byte)result2 != 0);
                }) == 0)
                {
                    result = ServiceOrderStatus.Refunding;
                }
            }
            return(result);
        }
Beispiel #8
0
        private string GetShowVerificationPassword(string VerificationPassword, VerificationStatus status)
        {
            string text = "";

            text = VerificationPassword;
            if (!string.IsNullOrWhiteSpace(text))
            {
                text = ((status != 0 && status != VerificationStatus.ApplyRefund) ? Regex.Replace(text, "(\\d{4})(\\d{4})(\\d+)", "$1$2$3") : Regex.Replace(text, "(\\d{4})(\\d{4})(\\d+)", "$1****$3"));
            }
            return(text);
        }
Beispiel #9
0
        private void Proceed()
        {
            _workingElasto = LoadGrayElstogram();
            _elastoStatus  = VerifyElasto(ref _workingElasto, out _workingBlob);

            _workingUltrasoundModM = LoadGrayUltrasoundModM(UsDeviationThreshold, UsDeviationStreak);
            //_ultrasoundModeMStatus = _workingUltrasoundModM.DeviationStreakLines.Count < BadLinesLimit ? VerificationStatus.Correct : VerificationStatus.Incorrect;
            _ultrasoundModeMStatus = _workingUltrasoundModM.getBrightLines(ModMThreshold, ModMBrightPixelLimit).Count < ModMBrightLinesLimit ? VerificationStatus.Correct : VerificationStatus.Incorrect;

            _workingUltrasoundModA = LoadGrayUltrasoundModA();
            _ultrasoundModeAStatus = _workingUltrasoundModA.RelativeEstimation > ModARelativeEstimationLimit ? VerificationStatus.Correct : VerificationStatus.Incorrect;
        }
Beispiel #10
0
 public UserProfile(User user, AppSettings appSettings)
 {
     Id                       = user.Id;
     Username                 = user.Username;
     DisplayName              = user.DisplayName;
     Role                     = user.Role;
     MobileNumber             = user.MobileNumber;
     MobileNumberVerification = DetermineVerificationStatus(user.MobileNumber, user.MobileNumberBeingVerified,
                                                            user.MobileNumberVerificationCreated, appSettings.MobileNumberVerificationExpiration);
     Email             = user.Email;
     EmailVerification = DetermineVerificationStatus(user.Email, user.EmailBeingVerified, user.EmailVerificationCreated,
                                                     appSettings.EmailVerificationExpiration);
 }
Beispiel #11
0
        public ElastogramSignatura(ElastoBlob inputBlob, Segment inputFibroLine, VerificationStatus answer = VerificationStatus.NotCalculated)
        {
            Area                    = inputBlob.Blob.Area;
            FibroAngle              = inputFibroLine.Equation.Angle;
            LeftAngle               = inputBlob.LeftApproximation.Angle;
            RightAngle              = inputBlob.RightApproximation.Angle;
            RSquareLeft             = inputBlob.RSquareLeft;
            RSquareRight            = inputBlob.RSquareRight;
            RelativeEstimationLeft  = inputBlob.RelativeEstimationLeft;
            RelativeEstimationRight = inputBlob.RelativeEstimationRight;

            Answer = answer;
        }
Beispiel #12
0
 public void LoadScriptFiles(string scriptFolderPath, string[,] specsTable, out VerificationStatus[,] specsTableStatus)
 {
     specsTableStatus = new VerificationStatus[,] { };
     // for each script file, first get product model from scrip filename;
     // then parse the content of the script file to get test parameters;
     // finally verify datasheet by test parameters.
     // there are 3 modes for the datasheet items: unverified (grey) | mismatch (red) | match (green)
     foreach (string fileName in Directory.GetFiles(scriptFolderPath, "*.ini", SearchOption.AllDirectories))
     {
         ParseProductModel(fileName);
         ReadTestScript(fileName);
         VerifyDatasheet(specsTable, out specsTableStatus);
     }
 }
        void ver_FPVerificationStatus(VerificationStatus Status)
        {
            string dta = ("data" + Convert.ToDateTime(dateTimePicker1.Text).ToString("ddMMyyyy"));

            if (Status == VerificationStatus.v_OK)
            {
                va.Corrigir = dta;
                va.Codigo   = Convert.ToInt32(empid);
                if (co.VerificaPresenca(va).ToString() == "ok")
                {
                    string      msg = "Data não cadastrada, verifique se realmente há reunião neste dia e cadastre a data!!!";
                    frmMensagem mg  = new frmMensagem(msg);
                    mg.ShowDialog();
                }
                else
                {
                    if (co.VerificaPresenca(va) == "P")
                    {
                        string      msg = co.Alpinista(va).Substring(0, co.Alpinista(va).IndexOf(" ")) + " você já está com presença!!!";
                        frmMensagem mg  = new frmMensagem(msg);
                        mg.ShowDialog();
                    }
                    else
                    {
                        va.Presenca   = "P";
                        textBox1.Text = co.Alpinista(va);
                        MySqlCommand cmd = new MySqlCommand();
                        co.Presenca(va);
                        label2.Text = "Presente";
                        string      msg = co.Alpinista(va).Substring(0, co.Alpinista(va).IndexOf(" ")) + " sua presença foi cadastrada!!!";
                        frmMensagem mg  = new frmMensagem(msg);
                        mg.ShowDialog();
                        textBox1.Text = "";
                        label2.Text   = "";
                    }
                }
            }
            else if (Status == VerificationStatus.v_NotMatch)
            {
                textBox1.Text = textBox1.Text + "\r\n" + "Not recognized";
            }
            else if (Status == VerificationStatus.v_MultiplelMatch)
            {
                textBox1.Text = textBox1.Text + "\r\n" + "Mltiple Match";
            }
            else if (Status == VerificationStatus.v_VerifyCaptureFingerTouch)
            {
            }
        }
        public Image Step12DrawBadLines(ref VerificationStatus result, int badLinesLimit)
        {
            if (!_debugMode)
            {
                throw new Exception("Can`t use this method in production mode");
            }
            List <int>      badLines = _workingUltrasoundModM.DeviationStreakLines;
            SimpleGrayImage rez      = new SimpleGrayImage(_workingUltrasoundModM.Image.Data);

            badLines.ForEach(line => rez.DrawHorisontalGrayLine(0, _workingUltrasoundModM.Image.Cols - 1, line, 0));

            _ultrasoundModeMStatus = badLines.Count < badLinesLimit ? VerificationStatus.Correct : VerificationStatus.Incorrect;
            result = _ultrasoundModeMStatus;

            return(rez.Bitmap);
        }
Beispiel #15
0
        private ElastogramSignatura stringToSignatura(string signaturaString, char separator)
        {
            string[] numbersString = signaturaString.Split(separator);
            if (numbersString.Length != ElastogramSignatura.Size + 1)
            {
                throw new ArgumentOutOfRangeException();
            }
            List <double> signatureInput = new List <double>();

            for (int i = 0; i < ElastogramSignatura.Size; i++)
            {
                signatureInput.Add(Convert.ToDouble(numbersString[i]));
            }
            VerificationStatus answer = (VerificationStatus)Enum.Parse(typeof(VerificationStatus), numbersString.Last());

            return(new ElastogramSignatura(signatureInput, answer, true));
        }
        public Image Step15DrawBrightLines(ref VerificationStatus result, int threshold, int brightPixelLimit, int brightLinesLimit)
        {
            if (!_debugMode)
            {
                throw new Exception("Can`t use this method in production mode");
            }

            List <int>      briteLines = _workingUltrasoundModM.getBrightLines(threshold, brightPixelLimit);
            SimpleGrayImage rez        = new SimpleGrayImage(_workingUltrasoundModM.Image.Data);

            briteLines.ForEach(line => rez.DrawHorisontalGrayLine(0, _workingUltrasoundModM.Image.Cols - 1, line, 0));

            _ultrasoundModeMStatus = briteLines.Count < brightLinesLimit ? VerificationStatus.Correct : VerificationStatus.Incorrect;
            result = _ultrasoundModeMStatus;

            return(rez.Bitmap);
        }
 public ActionResult ConfirmUser(string code)
 {
     try
     {
         VerificationStatus status = _membershipService.VerifyForUserStatus(code);
         if (status == VerificationStatus.Success)
         {
             return(View());
         }
     }
     catch (Exception ex)
     {
         _logger.Error(ex, "User failed to verify: VerificationCode={0}", code);
     }
     _validationMessageService.StoreActionResponseMessageError("Verification Failed");
     return(RedirectToAction("Register"));
 }
Beispiel #18
0
        public ElastogramSignatura(double area, double fibroAngle,
                                   double leftAngle, double rightAngle,
                                   double rSquareLeft, double rSquareRight,
                                   double relativeEstimationLeft, double relativeEstimationRight,
                                   VerificationStatus answer = VerificationStatus.NotCalculated)
        {
            Area                    = area;
            FibroAngle              = fibroAngle;
            LeftAngle               = leftAngle;
            RightAngle              = rightAngle;
            RSquareLeft             = rSquareLeft;
            RSquareRight            = rSquareRight;
            RelativeEstimationLeft  = relativeEstimationLeft;
            RelativeEstimationRight = relativeEstimationRight;

            Answer = answer;
        }
Beispiel #19
0
        public async Task <ActionResult> UpdateStatus([FromBody] VerificationStatus statusDto,
                                                      [FromRoute] int id)
        {
            try
            {
                var status = await _unitOfWork.VerificationStatuses.GetByIdAsync(id);

                status.StatusName = statusDto.StatusName;
                await _unitOfWork.CommitAsync();

                return(NoContent());
            }
            catch (EntityNotFoundException)
            {
                return(NotFound());
            }
        }
Beispiel #20
0
        public async Task <ActionResult> VerifyDocument(Util.Document documents, VerificationStatus status, Guid userId)
        {
            try
            {
                var res = await _userManager.VerifyDocuments(documents, userId, status);

                return(Ok(new ResponseViewModel <bool>
                {
                    Data = res,
                    Message = res ? TazzerCleanConstants.SavedSuccess : TazzerCleanConstants.GeneralError
                }));
            }
            catch (Exception ex)
            {
                _logger.LogError("An error has been thrown in UserController:VerifyDocument", ex);
                return(BadRequest());
            }
        }
Beispiel #21
0
        private DataGridViewModel <Dictionary <string, object> > GetDataList(VerificationRecordQuery query)
        {
            DataGridViewModel <Dictionary <string, object> > dataGridViewModel = new DataGridViewModel <Dictionary <string, object> >();

            if (query != null)
            {
                DbQueryResult verificationRecord = OrderHelper.GetVerificationRecord(query);
                dataGridViewModel.rows  = DataHelper.DataTableToDictionary(verificationRecord.Data);
                dataGridViewModel.total = verificationRecord.TotalRecords;
                foreach (Dictionary <string, object> row in dataGridViewModel.rows)
                {
                    VerificationStatus verificationStatus = (VerificationStatus)row["VerificationStatus"].ToInt(0);
                    row.Add("PayOrderId", OrderHelper.GetPayOrderId(row["OrderId"].ToNullString()));
                    row.Add("StatusText", ((Enum)(object)verificationStatus).ToDescription());
                    row["VerificationPassword"] = this.GetShowVerificationPassword(row["VerificationPassword"].ToString(), verificationStatus);
                }
            }
            return(dataGridViewModel);
        }
Beispiel #22
0
        private static EmailVerificationStatus MapStatus(VerificationStatus status)
        {
            if (status.Equals(VerificationStatus.NotStarted))
            {
                return(EmailVerificationStatus.NotStarted);
            }

            if (status.Equals(VerificationStatus.Pending))
            {
                return(EmailVerificationStatus.Pending);
            }

            if (status.Equals(VerificationStatus.Success))
            {
                return(EmailVerificationStatus.Verified);
            }

            return(EmailVerificationStatus.Failed);
        }
 public ActionResult ChangePassword(string code)
 {
     try
     {
         VerificationStatus status = _membershipService.VerifyForPasswordChange(code);
         if (status == VerificationStatus.Success)
         {
             User user = _userService.GetUserByPasswordVerificationCode(code);
             this.StoreUserInSession(user);
             _passwordVerificationService.RemoveByUserID(user.ID);
             return(View());
         }
     }
     catch (Exception ex)
     {
         _logger.Error(ex, "Change password failed to verify: VerificationCode={0}", code);
     }
     _validationMessageService.StoreActionResponseMessageError("Verification Failed");
     return(RedirectToAction("Login"));
 }
Beispiel #24
0
        public bool UpdateStatus(int verificationId, VerificationStatus status)
        {
            try
            {
                var find = context.CR_Verification.Find(verificationId);
                if (find != null)
                {
                    find.Status = status.ToString();
                    context.Entry(find).State = EntityState.Modified;
                    context.SaveChanges();
                    return(true);
                }

                return(false);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        public Image Step14DrawUltraSoundApproximation(ref VerificationStatus result, int relativeEstimationLimit)
        {
            if (!_debugMode)
            {
                throw new Exception("Can`t use this method in production mode");
            }

            ReflectionedLine drawingLine = _workingUltrasoundModA.ApproxLine;
            SimpleGrayImage  approxImage = new SimpleGrayImage(_workingUltrasoundModA.Image.Data);

            IntPoint startPoint = new IntPoint(drawingLine.GetX(ModATopIndention), ModATopIndention);
            IntPoint endPoint   = new IntPoint(drawingLine.GetX(_workingUltrasoundModA.Image.Rows - ModABottomIndention),
                                               _workingUltrasoundModA.Image.Rows - ModABottomIndention);

            approxImage.DrawGrayLine(startPoint, endPoint, 128);

            _ultrasoundModeAStatus = _workingUltrasoundModA.RelativeEstimation > relativeEstimationLimit ? VerificationStatus.Correct : VerificationStatus.Incorrect;
            result = _ultrasoundModeAStatus;

            return(approxImage.Bitmap);
        }
Beispiel #26
0
        private void Ultrasoundverification()
        {
            sourceModMPicture.Image = WorkingImage.Step11LoadUltrasoundM((double)upDownBrightPixelLimit.Value, (int)upDownUsDeviationStreak.Value);
            VerificationStatus umms = VerificationStatus.NotCalculated;

            outModMPicture.Image = WorkingImage.Step15DrawBrightLines(ref umms, (int)upDownLimitUsBrightness.Value, (int)upDownBrightPixelLimit.Value, (int)upDownBrightLinesLimit.Value);

            resultBox.Items.Add("UltraSoundModM is " + umms);
            simpleModMStatus.Text = umms.ToString();

            signatureBox.Items.Add("Mod M bright lines:  " +
                                   WorkingImage.WorkingUltrasoundModM.getBrightLines((int)upDownLimitUsBrightness.Value, (int)upDownBrightPixelLimit.Value).Count);

            sourceModAPicture.Image = WorkingImage.Step13LoadUltrasoundA();
            VerificationStatus umas = VerificationStatus.NotCalculated;

            outModAPicture.Image = WorkingImage.Step14DrawUltraSoundApproximation(ref umas, (int)upDownRelativeEstimationLimit.Value);

            signatureBox.Items.Add("ModA Estimation:   " + Math.Round(WorkingImage.WorkingUltrasoundModA.RelativeEstimation, 2));
            signatureBox.Items.Add("ModA RSquare        : " + Math.Round(WorkingImage.WorkingUltrasoundModA.RSquare));
            resultBox.Items.Add("UltraSoundModA is " + umas);
            simpleModAStatus.Text = umms.ToString();
        }
Beispiel #27
0
        private void StartImageVerification()
        {
            if (sourcePicture.Image == null)
            {
                LoadImage();
            }
            if (sourcePicture.Image != null)
            {
                BoxClear();
                imageLabels.ForEach(label => label.Visible          = true);
                teachStatusComboBox.ForEach(box => box.Visible      = true);
                teachStatusComboBox.ForEach(box => box.SelectedItem = "Uncertain");
                simpleStatusLabel.ForEach(label => label.Visible    = true);
                teachButton.Visible = true;

                WorkingImage = new FibroscanImage(sourceImage, true);
                VerificationStatus elastoStatus = ElastogramVerification();
                Ultrasoundverification();

                //Production code
                if (productionCheckBox.Checked)
                {
                    FibroscanImage prod = new FibroscanImage(sourceImage);
                    productionPicture.Image = prod.Merged;
                }


                if (savingStepsCheckBox.Checked)
                {
                    SaveSteps();
                }
                if (saveClassificationCheckBox.Checked)
                {
                    SaveClassification(elastoStatus);
                }
            }
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (Type.Length != 0)
            {
                hash ^= Type.GetHashCode();
            }
            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (DisplayName.Length != 0)
            {
                hash ^= DisplayName.GetHashCode();
            }
            if (Description.Length != 0)
            {
                hash ^= Description.GetHashCode();
            }
            hash ^= Labels.GetHashCode();
            hash ^= UserLabels.GetHashCode();
            if (VerificationStatus != 0)
            {
                hash ^= VerificationStatus.GetHashCode();
            }
            if (enabled_ != null)
            {
                hash ^= Enabled.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Beispiel #29
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Type.Length != 0)
            {
                hash ^= Type.GetHashCode();
            }
            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (DisplayName.Length != 0)
            {
                hash ^= DisplayName.GetHashCode();
            }
            if (Description.Length != 0)
            {
                hash ^= Description.GetHashCode();
            }
            hash ^= Labels.GetHashCode();
            hash ^= UserLabels.GetHashCode();
            if (VerificationStatus != global::Google.Cloud.Monitoring.V3.NotificationChannel.Types.VerificationStatus.Unspecified)
            {
                hash ^= VerificationStatus.GetHashCode();
            }
            if (enabled_ != null)
            {
                hash ^= Enabled.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        public async Task <bool> VerifyProfessionalDocument(Guid userId, Document Document, VerificationStatus status)
        {
            var procedure = "spDocuments_VerifyDocument";

            using IDbConnection dbConnection = new SqlConnection(_config.GetConnectionString("TazzerCleanCs"));
            dbConnection.Open();

            await dbConnection.ExecuteAsync(
                procedure,
                new
            {
                userId,
                Document,
                status
            },
                commandType : CommandType.StoredProcedure,
                commandTimeout : 10
                );

            return(true);
        }
Beispiel #31
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as Condition;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Identifier != null)
            {
                dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
            }
            if (ClinicalStatus != null)
            {
                dest.ClinicalStatus = (Hl7.Fhir.Model.CodeableConcept)ClinicalStatus.DeepCopy();
            }
            if (VerificationStatus != null)
            {
                dest.VerificationStatus = (Hl7.Fhir.Model.CodeableConcept)VerificationStatus.DeepCopy();
            }
            if (Category != null)
            {
                dest.Category = new List <Hl7.Fhir.Model.CodeableConcept>(Category.DeepCopy());
            }
            if (Severity != null)
            {
                dest.Severity = (Hl7.Fhir.Model.CodeableConcept)Severity.DeepCopy();
            }
            if (Code != null)
            {
                dest.Code = (Hl7.Fhir.Model.CodeableConcept)Code.DeepCopy();
            }
            if (BodySite != null)
            {
                dest.BodySite = new List <Hl7.Fhir.Model.CodeableConcept>(BodySite.DeepCopy());
            }
            if (Subject != null)
            {
                dest.Subject = (Hl7.Fhir.Model.ResourceReference)Subject.DeepCopy();
            }
            if (Encounter != null)
            {
                dest.Encounter = (Hl7.Fhir.Model.ResourceReference)Encounter.DeepCopy();
            }
            if (Onset != null)
            {
                dest.Onset = (Hl7.Fhir.Model.DataType)Onset.DeepCopy();
            }
            if (Abatement != null)
            {
                dest.Abatement = (Hl7.Fhir.Model.DataType)Abatement.DeepCopy();
            }
            if (RecordedDateElement != null)
            {
                dest.RecordedDateElement = (Hl7.Fhir.Model.FhirDateTime)RecordedDateElement.DeepCopy();
            }
            if (Recorder != null)
            {
                dest.Recorder = (Hl7.Fhir.Model.ResourceReference)Recorder.DeepCopy();
            }
            if (Asserter != null)
            {
                dest.Asserter = (Hl7.Fhir.Model.ResourceReference)Asserter.DeepCopy();
            }
            if (Stage != null)
            {
                dest.Stage = new List <Hl7.Fhir.Model.Condition.StageComponent>(Stage.DeepCopy());
            }
            if (Evidence != null)
            {
                dest.Evidence = new List <Hl7.Fhir.Model.Condition.EvidenceComponent>(Evidence.DeepCopy());
            }
            if (Note != null)
            {
                dest.Note = new List <Hl7.Fhir.Model.Annotation>(Note.DeepCopy());
            }
            return(dest);
        }
Beispiel #32
0
        public void VerifyDatasheet(string[,] specsTable, out VerificationStatus[,] specsTableStatus)
        {
            int rows = specsTable.GetLength(0);
                int cols = specsTable.GetLength(1);
                specsTableStatus = new VerificationStatus[rows, cols];
                for (int i = 0; i < rows; i++)
                {
                    for (int j = 0; j < cols; j++)
                    {
                        specsTableStatus[i, j] = VerificationStatus.GRAY;
                    }
                }

                List<int> sameModelWithVariousSWRev = new List<int>();
                List<string[]> subTestParams = new List<string[]>();

                // get datasheet - softwareCodeTable items for this model
                // note the first row stores table titles, index starts from 1!
                for (int i = 1; i < specsTable.GetLength(0); i++)
                {
                    string model = specsTable[i, 0];
                    string modelWithNewFormat = model.Replace("-", string.Empty);
                    if (modelWithNewFormat.Equals(productModel))
                    {
                        // get subset for this model
                        sameModelWithVariousSWRev.Add(i);
                    }
                }
                // get the last line contains "SWREV"
                // to-do: probably need to change testParams and subTestParams back to string arrays as order matters
                int indexOfMatchedModelInSwCodeTable = -1;
                foreach (string[] strArray in testParams)
                {
                    if (strArray[1].Contains("SWREV"))
                    {
                        foreach (int swRevIndex in sameModelWithVariousSWRev)
                        {
                            if (specsTable[swRevIndex, 2].Equals(strArray[3])) { indexOfMatchedModelInSwCodeTable = swRevIndex; }
                        }
                    }
                }

                if (indexOfMatchedModelInSwCodeTable >= 0)
                {
                    // get subset of testParams, which only contains the following testNames
                    string[] testNames = new[] { "WHOAMI" };
                    foreach (string[] strArray in testParams)
                    {
                        foreach (string testName in testNames)
                        {
                            if (strArray[1].Equals(testName))
                            {
                                subTestParams.Add(strArray);
                            }
                        }
                    }

                    foreach (string[] strArray in subTestParams)
                    {
                        // check min or max value for whoami
                        if (strArray[4] != null && strArray[5] != null)
                        {
                            // softwareCodeTable, column 1 stores SW_WHOAMI
                            StringBuilder sb = new StringBuilder(specsTable[indexOfMatchedModelInSwCodeTable, 1]);
                            string hexNumber = sb.Replace("0x", string.Empty).Replace("0X", string.Empty).ToString();
                            string decNumber = Convert.ToInt32(hexNumber, 16).ToString();
                            if (strArray[4].Equals(decNumber) && strArray[5].Equals(decNumber))
                            {
                                if (specsTableStatus[indexOfMatchedModelInSwCodeTable, 1] == VerificationStatus.GRAY)
                                {
                                    specsTableStatus[indexOfMatchedModelInSwCodeTable, 1] = VerificationStatus.GREEN;
                                }
                            }
                            else // may need more robust check
                            {
                                specsTableStatus[indexOfMatchedModelInSwCodeTable, 1] = VerificationStatus.RED;
                            }
                        }
                    }

                }
        }