public async Task <IActionResult> Login([FromBody] LoginParametersDto loginParametersDto)
        {
            IdentityCard card = await _cardManager.FindByIdAsync(loginParametersDto.CardNumber);

            // check null card
            if (card == null)
            {
                return(NotFound("please register your card"));
            }

            // check password
            var passwordCorrect = await _cardManager.CheckPasswordAsync(card, loginParametersDto.Pin);

            if (!passwordCorrect)
            {
                return(Unauthorized("pin incorrect"));
            }

            var refreshToken = _tokenManager.CreateRefreshToken(loginParametersDto.CardNumber);
            var cardDto      = _mapper.Map <CardDto>(card);

            cardDto.Bearer       = _tokenManager.CreateJwt(loginParametersDto.CardNumber);
            cardDto.RefreshToken = null;
            if (await _tokenManager.SaveRefreshToken(refreshToken))
            {
                cardDto.RefreshToken = refreshToken.Token;
            }
            return(Ok(cardDto));
        }
示例#2
0
        public async Task UpdateMember(Member member, IdentityCard identityCard)
        {
            try
            {
                var Memberupd = await _DiscoContext.Members.SingleOrDefaultAsync(m => m.MemberId == member.MemberId);

                var idupd = await _DiscoContext.IdentityCards.SingleOrDefaultAsync(m => m.MemberId == member.MemberId);

                if (Memberupd != null)
                {
                    Memberupd.PhoneNumber = member.PhoneNumber;
                    Memberupd.Email       = member.Email;

                    if (Tools.CheckMinAge(identityCard.BirthDate) && Tools.IsValidNN(identityCard.NatNumber))
                    {
                        identityCard.CardNumber = identityCard.CardNumber;
                        idupd.FirstName         = identityCard.FirstName;
                        idupd.LastName          = identityCard.LastName;
                        idupd.BirthDate         = identityCard.BirthDate;
                        idupd.ValiDate          = identityCard.ValiDate;
                        idupd.ExpirDate         = identityCard.ExpirDate;
                        _DiscoContext.Update(idupd);
                    }
                    _DiscoContext.Update(Memberupd);
                    await _DiscoContext.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                //log exception
                // return null;
            }
        }
        static public async Task <IdentityCard> GetDatarcethby(string InIm)
        {
            // Setup the configuration to support document loading
            var config = Configuration.Default.WithDefaultLoader();
            // Load the names of all The Big Bang Theory episodes from Wikipedia
            var address = "http://rceth.by/Refbank/reestr_medicinskoy_tehniki/details/" + InIm + "?allproducts=True";
            // Asynchronously get the document in a new context using the configuration
            var document = await BrowsingContext.New(config).OpenAsync(address);

            // This CSS selector gets the desired content
            var cellSelector = ".results table td";
            // Perform the query to get all cells with the content
            var cells = document.QuerySelectorAll(cellSelector);
            // We are only interested in the text - select it with LINQ
            var titles = cells.Select(m => m.TextContent);

            string[] title = new string[titles.Count()];
            int      i     = 0;

            foreach (var item in titles)
            {
                title[i] = item;
                i++;
            }
            IdentityCard identityCard = new IdentityCard
            {
                Number             = title[0],
                DateOfRegistration = DateTime.Parse(title[1]),
                Expiration         = DateTime.Parse(title[2]),
                Applicant          = title[3],
                Purpose            = title[4]
            };

            return(identityCard);
        }
示例#4
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            DateTime birthDate;

            if (!DateTime.TryParse(dtBirthDate.Text, out birthDate))
            {
                lblMessage.ForeColor = Color.Red;
                lblMessage.Text      = "დაბადების თარიღი შეავსეთ სწორად.";
                return;
            }

            DateTime experationDate;

            if (!DateTime.TryParse(dtDateOfExpiry.Text, out experationDate))
            {
                lblMessage.ForeColor = Color.Red;
                lblMessage.Text      = "მოქმედების ვადა შეავსეთ სწორად.";
                return;
            }

            DateTime issueDate;

            if (!DateTime.TryParse(dtIssueDate.Text, out issueDate))
            {
                lblMessage.ForeColor = Color.Red;
                lblMessage.Text      = "გაცემის თარიღი შეავსეთ სწორად.";
                return;
            }

            var identityCard = new IdentityCard
            {
                BirthDate      = birthDate,
                CardNumber     = txtNumber.Text,
                CityID         = int.Parse(lstBirthPlaces.SelectedItem.Value),
                CountryID      = int.Parse(lstCitizenship.SelectedItem.Value),
                DateOfExpiry   = experationDate,
                GenderID       = int.Parse(lstGenders.SelectedItem.Value),
                IssueDate      = issueDate,
                Organization   = txtOrganization.Text,
                PersonalNumber = txtPersonalNumber.Text,
                LastName       = txtLastName.Text,
                FirstName      = txtFirstName.Text
            };

            using (var uwork = new UnitOfWork(new IECContext()))
            {
                if (!_validator.IsValidID(identityCard))
                {
                    lblMessage.ForeColor = Color.Red;
                    lblMessage.Text      = "მონაცემები არასწორადაა შეყვანილი.";
                    return;
                }
                else
                {
                    uwork.IdentityCards.Add(identityCard);
                    uwork.Save();
                    Response.Redirect("Default.aspx");
                }
            }
        }
        public void PullData(out IdentityCard candidate)
        {
            candidate = new IdentityCard {
                Surname     = GetData("surname"),
                Firstnames  = GetData("firstnames"),
                Nationality = GetData("nationality"),
                BirthPlace  = GetData("location_of_birth"),
                BirthDay    = GetData("date_of_birth"),
                Gender      = GetData("gender"),
                Nobility    = GetData("nobility"),
                CardNumber  = GetData("card_number"),
                Photohash   = GetData("photo_hash"),
                //HasFamily = bool.Parse(GetData("member_of_family")),
                Address = GetData("address_street_and_number"),
                City    = GetData("address_municipality"),
                ZipCode = GetData("address_zip")
            };
            // candidate = new CandidateGrid
            //{
            //    City = GetData("location_of_birth"),
            //    Name = GetData("firstname") + GetData("surname"),
            //    Email= "Default",
            //    PrimaryPhone="Default",



            //};
        }
示例#6
0
        void SaveRoundtrip(string file)
        {
            IdentityCard ic = new IdentityCard();

            ic.Load(XmlReader.Create(file));
            MemoryStream      ms  = new MemoryStream();
            XmlWriterSettings xws = new XmlWriterSettings();

            xws.OmitXmlDeclaration = true;
            using (XmlWriter xw = XmlWriter.Create(ms, xws)) {
                ic.Save(xw);
            }
            XmlDocument doc = new XmlDocument();

            doc.Load(file);
            if (doc.FirstChild is XmlDeclaration)
            {
                doc.RemoveChild(doc.FirstChild);
            }
            string expected = doc.OuterXml;

            doc.Load(new MemoryStream(ms.ToArray()));
            string actual = doc.OuterXml;

            Assert.AreEqual(expected, actual, file);
        }
示例#7
0
        public async Task <List <SearchedIdentityCardModel> > Handle(SetIdentityCardCommand request, CancellationToken cancellationToken)
        {
            int CurrentUserId = await _currentUser.GetUserId();

            List <SearchedIdentityCardModel> listOfCards = new List <SearchedIdentityCardModel>();

            // Check if person is employed

            if (_context.Selection.Where(s => s.PersonId == request.PersonId).Any())
            {
                IdentityCard card = new IdentityCard()
                {
                    CardCode    = "CardCode",
                    PersonId    = request.PersonId,
                    ValidUpto   = request.ValidUpto,
                    PhotoPath   = request.PhotoPath,
                    CardPrinted = false
                };

                _context.IdentityCard.Add(card);
                await _context.SaveChangesAsync(cancellationToken);

                listOfCards = await _mediator.Send(new GetIdentityCardsQuery()
                {
                    Id = card.Id
                });
            }
            else
            {
                throw new BusinessRulesException("کارمند انتخاب شده تعیینات نشده است");
            }
            return(listOfCards);
        }
示例#8
0
        public async Task <IActionResult> Create([Bind("Id,Code,Name,Description,Image,RegNumber,Ps")] Equipment equipment, IFormFile uploadedFile, string btn)
        {
            if (btn == "Info")
            {
                IdentityCard identityCard = await GetDatarcethby(equipment.RegNumber);

                equipment.Ps = identityCard.Expiration.ToShortDateString();
                return(View("Create", equipment));
            }
            if (ModelState.IsValid)
            {
                // Загрузить на сервер
                if (uploadedFile != null)
                {
                    // путь к папке Files
                    string path = "/images/" + uploadedFile.FileName;
                    // сохраняем файл в папку Files в каталоге wwwroot    D:\Fresenius\Fresenius\Fresenius\wwwroot\images\5085641.png

                    using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create))
                    {
                        await uploadedFile.CopyToAsync(fileStream);
                    }
                    //сохранить в базе сохраненный путь
                    equipment.Image = "~/images/" + uploadedFile.FileName;
                }


                _context.Add(equipment);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(equipment));
        }
示例#9
0
        // GET: Equipments
        public async Task <IActionResult> IndexAndReestr()
        {
            IdentityCard IdentityCardofReestr = new IdentityCard();
            List <VieweModelForEquipmentsIC> listvieweModelForEquipmentsIC = new List <VieweModelForEquipmentsIC>();

            foreach (var item in  _context.Equipments.ToList())
            {
                IdentityCardofReestr = await GetDatarcethby(item.RegNumber);

                VieweModelForEquipmentsIC vieweModelForEquipmentsIC = new VieweModelForEquipmentsIC
                {
                    Id                 = item.Id,
                    Code               = item.Code,
                    Name               = item.Name,
                    Description        = item.Description,
                    Image              = item.Image,
                    RegNumber          = item.RegNumber,
                    Ps                 = item.Ps,
                    Number             = IdentityCardofReestr.Number,
                    DateOfRegistration = IdentityCardofReestr.DateOfRegistration,
                    Expiration         = IdentityCardofReestr.Expiration,
                    Applicant          = IdentityCardofReestr.Applicant,
                    Purpose            = IdentityCardofReestr.Purpose
                };
                listvieweModelForEquipmentsIC.Add(vieweModelForEquipmentsIC);
            }
            return(View(listvieweModelForEquipmentsIC));
        }
示例#10
0
        public async Task <Member> UpdateIdCard(UpdateIdCardCommand command)
        {
            if (command == null)
            {
                throw new CustomBadRequestException(ExceptionMessage.NullCommand);
            }

            var member = _context.Members
                         .Include(m => m.IdentityCards)
                         .SingleOrDefault(m => m.Id == command.MemberId);

            if (member == null)
            {
                throw new CustomNotFoundException(ExceptionMessage.MemberIdNotFound);
            }

            var idCard = new IdentityCard
            {
                Firstname              = command.Firstname,
                Lastname               = command.Lastname,
                BirthDate              = command.BirthDate,
                CardNumber             = command.CardNumber,
                ExpirationDate         = command.ExpirationDate,
                ValidityDate           = command.ValidityDate,
                NationalRegisterNumber = command.NationalRegisterNumber
            };

            ValidateIdCard(idCard);

            member.IdentityCards.Add(idCard);
            await _context.SaveChangesAsync();

            return(member);
        }
示例#11
0
        public async Task UserRegisters_WithValidDetails_RegisteresUserAndReturnsRegisteredSuccessfully()
        {
            // Arrange
            var                 subject             = GetSubject();
            IdentityCard        identityCard        = _identityCardBuilder.GenericIdentityCard().Build();
            CardRegistrationDto cardRegistrationDto = _cardRegistrationDtoBuilder.GenericRegistration().Build();

            identityCard.Id = cardRegistrationDto.CardNumber;
            _mockMapper.Setup(x => x.Map <IdentityCard>(cardRegistrationDto)).Returns(identityCard);

            var identityResult = new IdentityResultAccessor(true);

            _mockCardManager.Setup(x => x.CreateAsync(identityCard, cardRegistrationDto.Pin))
            .ReturnsAsync(identityResult);
            _mockCardManager.SetupSequence(x => x.FindByIdAsync(identityCard.Id))
            .ReturnsAsync((IdentityCard)null)
            .ReturnsAsync(identityCard);
            _mockCardManager.SetupSequence(x => x.FindByIdAsync(identityCard.Id))
            .ReturnsAsync((IdentityCard)null)
            .ReturnsAsync(identityCard);

            // Act
            var result = await subject.RegisterAsync(cardRegistrationDto);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(typeof(OkObjectResult), result.GetType());
            Assert.Equal(typeof(string), ((OkObjectResult)result).Value.GetType());
        }
示例#12
0
        public async Task <Member> CreateMember(CreateMemberCommand command)
        {
            if (command == null)
            {
                throw new CustomBadRequestException(ExceptionMessage.NullCommand);
            }

            if (String.IsNullOrEmpty(command.PhoneNumber) && String.IsNullOrEmpty(command.Email))
            {
                throw new CustomBadRequestException(ExceptionMessage.MemberEmptyEmailAndPhone);
            }

            if (command.IdCard == null)
            {
                throw new CustomBadRequestException(ExceptionMessage.IdCardNull);
            }

            if (!String.IsNullOrEmpty(command.Email))
            {
                if (!IsEmailValid(command.Email))
                {
                    throw new CustomBadRequestException(ExceptionMessage.BadEmailFormat);
                }
            }

            var idCard = new IdentityCard
            {
                Firstname              = command.IdCard.Firstname,
                Lastname               = command.IdCard.Lastname,
                BirthDate              = command.IdCard.BirthDate,
                CardNumber             = command.IdCard.CardNumber,
                ExpirationDate         = command.IdCard.ExpirationDate,
                ValidityDate           = command.IdCard.ValidityDate,
                NationalRegisterNumber = command.IdCard.NationalRegisterNumber
            };

            ValidateIdCard(idCard);

            var memberCard = MemberCard.GenerateMemberCard();

            var member = new Member
            {
                Email         = command.Email,
                PhoneNumber   = command.PhoneNumber,
                IdentityCards = new List <IdentityCard>()
                {
                    idCard
                },
                MemberCards = new List <MemberCard>()
                {
                    memberCard
                },
                IsActive = true
            };

            _context.Members.Add(member);
            await _context.SaveChangesAsync();

            return(member);
        }
示例#13
0
        public ActionResult DeleteConfirmed(int id)
        {
            IdentityCard identityCard = db.IdentityCards.Find(id);

            db.IdentityCards.Remove(identityCard);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#14
0
        public void IsValidNiss_GoodFormat_ReturnTrue()
        {
            var niss = "456.45.56-456-44";

            var isNissValid = IdentityCard.IsValidNiss(niss);

            Assert.True(isNissValid);
        }
示例#15
0
        public void IsValidNiss_FirstNumberBadFormat_ReturnFalse()
        {
            var niss = "5565.45.56-456-44";

            var isNissValid = IdentityCard.IsValidNiss(niss);

            Assert.False(isNissValid);
        }
        public bool VerifyCard(IdentityCard card)
        {
            IdentityCardLocal cardLocal = card as IdentityCardLocal;
            if (cardLocal == null)
                return false;

            return cardLocal.EMail == EMail && cardLocal.Password == Password;
        }
        public void OnChange_event_is_triggered()
        {
            var id        = new IdentityCard();
            int callCount = 0;

            id.OnChanged += ev =>
            {
                ++callCount;
                ev.IdentityCard.Should().BeSameAs(id);
                ev.AddedInfo.Should().BeEquivalentTo(new[] { ("a", "b") });
        public virtual IActionResult CheckIdentityCard([FromBody] IdentityCard body)
        {
            if (body == null)
            {
                return(this.BadRequest());
            }
            var result = _bankCheckService.CheckIdentityCard(body);

            return(StatusCode(200, result));
        }
示例#19
0
        public Boolean CheckIdCard(Member member)
        {
            IdentityCard identityCard = _DiscoContext.IdentityCards.Where(e => e.ExpirDate > DateTime.Now || e.ValiDate <= DateTime.Now && e.Member.MemberId == member.MemberId).FirstOrDefault();

            if (identityCard != null)
            {
                return(false);
            }
            return(true);
        }
示例#20
0
        public IActionResult Capture(int id)
        {
            IdentityCard model = new IdentityCard();

            model = _context.IdentityCards.Find(id);

            //model = await _context.IdentityCards.Include(c => c.BloodGroup)
            //    .Include(c => c.Designation)
            //    .FirstOrDefaultAsync(m => m.Id == id);

            try
            {
                var files = HttpContext.Request.Form.Files;
                if (files != null)
                {
                    foreach (var file in files)
                    {
                        if (file.Length > 0)
                        {
                            // Getting Filename
                            var fileName = file.FileName;
                            // Unique filename "Guid"
                            var myUniqueFileName = Convert.ToString(Guid.NewGuid());
                            // Getting Extension
                            var fileExtension = Path.GetExtension(fileName);
                            // Concating filename + fileExtension (unique filename)
                            var newFileName = string.Concat(myUniqueFileName, fileExtension);
                            //  Generating Path to store photo
                            var filepath = Path.Combine(_environment.WebRootPath, "image/user/") + $@"\{newFileName}";

                            if (!string.IsNullOrEmpty(filepath))
                            {
                                // Storing Image in Folder
                                StoreInFolder(file, filepath);
                            }

                            model.ImagePathOfUser = newFileName;
                            _context.Update(model);
                            //_context.IdentityCards.Update(imageStore);
                            _context.SaveChanges();
                        }
                    }
                    return(Json(true));
                }
                else
                {
                    return(Json(false));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#21
0
 public ActionResult Edit([Bind(Include = "IdentityCardID,RegistrationDate,ExpirationDate,PersonID")] IdentityCard identityCard)
 {
     if (ModelState.IsValid)
     {
         db.Entry(identityCard).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PersonID = new SelectList(db.People, "PersonID", "PersonalNumber", identityCard.PersonID);
     return(View(identityCard));
 }
示例#22
0
        public void Load()
        {
            IdentityCard ic = new IdentityCard();

            ic.Load(XmlReader.Create("Test/resources/rupert.xml"));
            Assert.AreEqual(DateTimeKind.Utc, ic.TimeIssued.Kind, "#1");
            Assert.AreEqual(11, ic.TimeIssued.Hour, "#2");
            Assert.AreEqual(23, ic.TimeExpires.Hour, "#3");
            new IdentityCard().Load(XmlReader.Create(
                                        "Test/resources/managed.xml"));
        }
示例#23
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Code,Name,Description,Image,RegNumber,Ps")] Equipment equipment, IFormFile uploadedFile, string btn)
        {
            if (btn == "Info")
            {
                IdentityCard identityCard = await GetDatarcethby(equipment.RegNumber);

                equipment.Ps = identityCard.Expiration.ToShortDateString();
                return(View("Edit", equipment));
            }


            if (id != equipment.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    // Загрузить на сервер
                    if (uploadedFile != null)
                    {
                        // путь к папке Files
                        string path = "/images/" + uploadedFile.FileName;
                        // сохраняем файл в папку Files в каталоге wwwroot

                        using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create))
                        {
                            await uploadedFile.CopyToAsync(fileStream);
                        }
                        equipment.Image = "~/images/" + uploadedFile.FileName;
                    }


                    _context.Update(equipment);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EquipmentExists(equipment.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(equipment));
        }
示例#24
0
        public async Task AddMember(Member member, IdentityCard identityCard)
        {
            try
            {
                if (_DiscoContext != null)
                {
                    if (!CheckIdCard(member))
                    {
                        IdentityCard oldIdentityCard = _DiscoContext.IdentityCards.Where(e => e.MemberId == member.MemberId).FirstOrDefault();

                        oldIdentityCard.CardNumber = identityCard.CardNumber;
                        oldIdentityCard.ExpirDate  = identityCard.ExpirDate;
                        oldIdentityCard.ValiDate   = identityCard.ValiDate;
                        _DiscoContext.Update(member);
                        await _DiscoContext.SaveChangesAsync();
                    }
                    if (!CheckCard(member))
                    {
                        Cards cards = new Cards();

                        cards.ExpirDate = DateTime.Now.AddDays(365);
                        cards.ValidFrom = DateTime.Now;

                        List <Cards> _lc = _DiscoContext.Cards.Where(e => e.Member == member).ToList();
                        _lc.Add(cards);

                        member.Cards = _lc;
                        _DiscoContext.Update(member);
                        await _DiscoContext.SaveChangesAsync();
                    }
                    else
                    {
                        Cards cards = new Cards();

                        cards.ExpirDate = DateTime.Now.AddDays(365);
                        cards.ValidFrom = DateTime.Now;

                        List <Cards> _lc = new List <Cards>();
                        _lc.Add(cards);

                        member.Cards    = _lc;
                        member.Identity = identityCard;

                        _DiscoContext.Add(member);

                        await _DiscoContext.SaveChangesAsync();
                    }
                }
            }
            catch (Exception e)
            { }
        }
        public PassportProcess(string backPageDataPath, IOcrProcess ocr)
        {
            IDCard = new IdentityCard();

            try
            {
                Text = ProcessCard(ocr, backPageDataPath);
            }
            catch (PathToFileNotFoundException ex)
            {
                throw ex;
            }
        }
示例#26
0
        // GET: IdentityCards/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            IdentityCard identityCard = db.IdentityCards.Find(id);

            if (identityCard == null)
            {
                return(HttpNotFound());
            }
            return(View(identityCard));
        }
        public async Task <IActionResult> CardEdit(int id, [Bind("Id,CardCategoryId,Name,DesignationId,Department,BloodGroupId,CardNumber,DateOfBirth,ImagePathOfUser,ImagePathOfUserSignature,ImagePathOfAuthorizedSignature,CompanyName,CompanyAddress,CompanyLogoPath,CardInfo,ValidationStartDate,ValidationEndDate,IssueDate")] IdentityCardViewModel viewModel)
        {
            if (id != viewModel.IdentityCard.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    IdentityCard identityCard = new IdentityCard();
                    viewModel.IdentityCard.CardCategoryId                 = identityCard.CardCategoryId;
                    viewModel.IdentityCard.Name                           = identityCard.Name;
                    viewModel.IdentityCard.DesignationId                  = identityCard.DesignationId;
                    viewModel.IdentityCard.Department                     = identityCard.Department;
                    viewModel.IdentityCard.BloodGroupId                   = identityCard.BloodGroupId;
                    viewModel.IdentityCard.CardNumber                     = identityCard.CardNumber;
                    viewModel.IdentityCard.DateOfBirth                    = identityCard.DateOfBirth;
                    viewModel.IdentityCard.ImagePathOfUser                = identityCard.ImagePathOfUser;
                    viewModel.IdentityCard.ImagePathOfUserSignature       = identityCard.ImagePathOfUserSignature;
                    viewModel.IdentityCard.ImagePathOfAuthorizedSignature = identityCard.ImagePathOfAuthorizedSignature;
                    viewModel.IdentityCard.CompanyName                    = identityCard.CompanyName;
                    viewModel.IdentityCard.CompanyAddress                 = identityCard.CompanyAddress;
                    viewModel.IdentityCard.CompanyLogoPath                = identityCard.CompanyLogoPath;
                    viewModel.IdentityCard.CardInfo                       = identityCard.CardInfo;
                    viewModel.IdentityCard.ValidationStartDate            = identityCard.ValidationStartDate;
                    viewModel.IdentityCard.ValidationEndDate              = identityCard.ValidationEndDate;


                    _context.Update(viewModel.IdentityCard);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!IdentityCardExists(viewModel.IdentityCard.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CardCategoryId"] = new SelectList(_context.CardCategories, "Id", "Id", viewModel.IdentityCard.CardCategoryId);
            ViewData["DesignationId"]  = new SelectList(_context.Designations, "Id", "Id", viewModel.IdentityCard.DesignationId);
            return(View(viewModel));
        }
示例#28
0
        // GET: IdentityCards/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            IdentityCard identityCard = db.IdentityCards.Find(id);

            if (identityCard == null)
            {
                return(HttpNotFound());
            }
            ViewBag.PersonID = new SelectList(db.People, "PersonID", "PersonalNumber", identityCard.PersonID);
            return(View(identityCard));
        }
示例#29
0
        public async Task UserTaps_WithUnregisteredCard_ReturnsUnauthorised()
        {
            // Arrange
            var          subject = GetSubject();
            IdentityCard card    = _identityCardBuilder.GenericIdentityCard().Build();
            var          tapDto  = new TapDto()
            {
                CardNumber = card.Id
            };

            // Act
            var result = await subject.Tap(tapDto);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(typeof(OkObjectResult), result.GetType());
            _mockTokenManager.Verify(x => x.InvalidateRefreshToken(card.Id));
        }
示例#30
0
        public void CalculateAge_LeapYear()
        {
            var idCard = new IdentityCard
            {
                Id = 1,
                NationalRegisterNumber = "654.23.45-456-78",
                BirthDate      = new DateTime(2016, 2, 29),
                CardNumber     = 1234567891,
                Firstname      = "John",
                Lastname       = "Doe",
                ValidityDate   = new DateTime(2016, 11, 18),
                ExpirationDate = new DateTime(2016, 11, 18)
            };

            var age = idCard.CalculateAge(new DateTime(2020, 2, 29));

            Assert.Equal(4, age);
        }
示例#31
0
        public void IsDateValid_LaterThanExpiration_ReturnFalse()
        {
            var idCard = new IdentityCard
            {
                Id = 1,
                NationalRegisterNumber = "654.23.45-456-78",
                BirthDate      = new DateTime(1994, 02, 24),
                CardNumber     = 1234567891,
                Firstname      = "John",
                Lastname       = "Doe",
                ValidityDate   = new DateTime(2016, 11, 18),
                ExpirationDate = new DateTime(2016, 11, 18)
            };

            var isDateValid = idCard.IsDateValid();

            Assert.False(isDateValid);
        }
示例#32
0
 public UserImpl(string avatarUrl, IdentityCard card)
 {
     AvatarUrl = avatarUrl;
     Card = card;
 }
 public User GetByIC(IdentityCard card)
 {
     return _queryableProvider.Linq<User>().FirstOrDefault(x => x.Card.IdentityKey == card.IdentityKey);
 }