Exemple #1
0
 public IActionResult Create([FromBody] Visitor item)
 {
     if (item == null)
     {
         return(BadRequest());
     }
     _visitorRepository.Add(item);
     return(CreatedAtRoute("GetVisitor", new { id = item.visitorId }, item));
 }
        public void AddShortUrlStat(ShortUrl shortUrl, Visitor visitor)
        {
            var stat = new Stat();

            stat.visitor  = visitor;
            stat.shortUrl = shortUrl;
            var domainstat = _mapper.Map <Domain.Models.Stat>(stat);

            _loggerService.LogInformation(JsonConvert.SerializeObject(stat));
            _visitorRepository.Add(domainstat.visitor);
            _statRepository.Add(domainstat);
        }
Exemple #3
0
        public void HandleVisitor(VISITORS visitor)
        {
            if (visitor == null)
            {
                throw new ArgumentNullException(nameof(visitor));
            }

            // Checks if localhost / already exists
            // if (visitor.IP == "localhost" || visitor.IP == "::1") return;
            if (visitor.IP == "localhost" || visitor.IP == "::1")
            {
                visitor.IP = GetRandomIpAddress();
            }
            if (_visitorRepository.Exists(visitor.IP))
            {
                return;
            }

            visitor = PopulateVisitorInformation(visitor);

            _visitorRepository.Add(visitor);
        }
        /* public VisitorCreateResult CreateVisitor(string carNr, int? userId, string firstName, string carType, System.DateTime startDateTime, System.DateTime stopDateTime, int? companyId, string lastName, string company, int? parentVisitorsId, DateTime? returnDate, string email, string host, string phoneNumber)
         * {
         *
         *        var result = new VisitorCreateResult { ErrorCode = UserServiceErrorCode.Ok, Id = 0 };
         *
         *
         *          using(IUnitOfWork work = UnitOfWork.Begin()){
         *
         *                Visitor visitor = DomainObjectFactory.CreateVisitor();
         *                IFoxSecIdentity identity = CurrentUser.Get();
         *
         *                visitor.CarNr = carNr;
         *                visitor.UserId = userId;
         *                visitor.FirstName = firstName;
         *                visitor.CarType = carType;
         *                visitor.StartDateTime = startDateTime;
         *                visitor.StopDateTime = stopDateTime;
         *                visitor.CompanyId = companyId;
         *                visitor.LastName = lastName;
         *                visitor.Company = company;
         *                visitor.ParentVisitorsId = parentVisitorsId;
         *                visitor.ReturnDate = returnDate;
         *               // visitor.Email = string.IsNullOrEmpty(email) ? "" : email;           //error
         *                visitor.Email = email;
         *                visitor.PhoneNumber = phoneNumber;
         *                visitor.FirstName = firstName;
         *                visitor.LastName = lastName;
         *
         *                //New Visitor..change accordingly
         *                visitor.IsDeleted = false;
         *                visitor.IsUpdated = false;
         *                visitor.UpdateDatetime = startDateTime;
         *                //visitor.LastChange = (DateTime)startDateTime; //error
         *                visitor.LastChange = new DateTime();
         *                visitor.Accept = true;
         *                visitor.AcceptUserId = 1;
         *                visitor.Active = true;
         *                visitor.AcceptDateTime = startDateTime;
         *
         *                //Modfied accordingly
         *                visitor.CardNeedReturn = true;
         *                visitor.IsPhoneNrAccessUnit = false;
         *                visitor.IsCarNrAccessUnit = false;
         *
         *                _visitorRepository.Add(visitor);
         *
         *                work.Commit();
         *
         *                result.Id = visitor.Id;
         *                var entity = new VisitorEventEntity(_visitorRepository.FindById(result.Id));
         *
         *                var message = entity.GetCreateMessage();
         *
         *                // _logService.CreateLog(CurrentUser.Get().Id, "web", flag, host, CurrentUser.Get().CompanyId, message);
         *                // _logService.CreateLog(CurrentUser.Get().Id, "web", flag, host, CurrentUser.Get().CompanyId, message);
         *
         *                //_controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, user.Id, UpdateParameter.UserNameChanged, ControllerStatus.Created, string.Format("{0} {1}", user.FirstName, user.LastName));
         *
         *                // _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, visitor.Id, UpdateParameter.UserStatusChanged, ControllerStatus.Created, "Active");
         *                /* i19082012
         *                                if( !string.IsNullOrEmpty(PIN1) )
         *                                {
         *                                    _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, user.Id, UpdateParameter.UserPin1Changed, ControllerStatus.Created, Encryption.Decrypt(user.PIN1));
         *                                }
         *
         *                                if(!string.IsNullOrEmpty(PIN2))
         *                                {
         *                                    _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, user.Id, UpdateParameter.UserPin2Changed, ControllerStatus.Created, Encryption.Decrypt(user.PIN2));
         *                                }
         *
         *
         *          }
         *        return result;
         *
         * } */

        public VisitorCreateResult CreateVisitor(string carNr, int?userId, string firstName, string carType, DateTime?startDateTime, DateTime?stopDateTime, int?companyId, string lastName, string company, string email, string host, string phoneNumber, bool isphonenraccessunit, bool iscarnraccessunit, DateTime?returndate, bool iscardneedreturn, string PersonalCode, string Comment)
        {
            var result = new VisitorCreateResult {
                ErrorCode = UserServiceErrorCode.Ok, Id = 0
            };

            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                int?     tc      = 0;
                int      id1     = 0;
                int      tc1     = 0;
                DateTime?validto = null;
                IEnumerable <ClassificatorValue> cv = _classificatorValueRepository.FindByValue("Visitors");
                foreach (var obj in cv)
                {
                    tc      = obj.Legal;
                    id1     = obj.Id;
                    validto = obj.ValidTo;
                }
                if (validto == null && tc == null)
                {
                    result.Id = 0;
                }
                else
                {
                    //tc1 = _userRepository.FindAll(x => !x.IsDeleted && x.Active == true && (x.IsShortTermVisitor == true || x.IsVisitor == true)).ToList().Count();
                    tc1 = _visitorRepository.FindAll(x => !x.IsDeleted && x.StopDateTime > DateTime.Now).ToList().Count();
                    int remaining = Convert.ToInt32(tc) - tc1;
                    remaining = remaining < 0 ? 0 : remaining;
                    if (remaining > 0 && validto > DateTime.Now)
                    {
                        Visitor         visitor  = DomainObjectFactory.CreateVisitor();
                        IFoxSecIdentity identity = CurrentUser.Get();
                        visitor.CarNr = carNr;
                        if (userId == 0)
                        {
                            visitor.UserId           = null;
                            visitor.ParentVisitorsId = null;
                        }
                        else
                        {
                            visitor.UserId = userId;
                            //int cardid = _usersAccessUnitRepository.FindAll(x => !x.IsDeleted && x.UserId == visitor.UserId && x.TypeId == 7 && x.Active == true && x.ValidTo < DateTime.Now).Select(x => x.Id).FirstOrDefault();

                            List <UsersAccessUnit> cardidlist = _usersAccessUnitRepository.FindAll(x => !x.IsDeleted && x.UserId == visitor.UserId && x.TypeId == 7 && x.Active == true).ToList();
                            var obj = cardidlist.FirstOrDefault();
                            //visitor.ParentVisitorsId = cardid;

                            //foreach (var obj in cardidlist)
                            //{
                            UsersAccessUnit carddet  = _usersAccessUnitRepository.FindById(Convert.ToInt32(obj.Id));
                            var             message2 = new XElement(XMLLogLiterals.LOG_MESSAGE);
                            message2.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCardCodeSerial", new List <string> {
                                carddet.Serial, carddet.Serial
                            }));
                            message2.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCardCodeDk", new List <string> {
                                carddet.Dk, carddet.Dk
                            }));
                            message2.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCardValidFromChanged", new List <string> {
                                Convert.ToString(carddet.ValidFrom), Convert.ToString(startDateTime)
                            }));
                            message2.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCardValidToChanged", new List <string> {
                                Convert.ToString(carddet.ValidTo), Convert.ToString(stopDateTime)
                            }));
                            carddet.ValidFrom = startDateTime;
                            carddet.ValidTo   = stopDateTime;
                            carddet.Closed    = null;
                            carddet.Id        = obj.Id;
                            work.Commit();
                            _logservice1.CreateLog(CurrentUser.Get().Id, "web", flag, host, CurrentUser.Get().CompanyId, message2.ToString());
                            //}

                            _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, Convert.ToInt32(visitor.UserId), UpdateParameter.UserStatusChanged, ControllerStatus.Created, "Active");
                        }
                        if (companyId == null || companyId == 0)
                        {
                            if (visitor.UserId != null)
                            {
                                companyId = _userRepository.FindById(Convert.ToInt32(visitor.UserId)).CompanyId;
                            }
                        }



                        visitor.FirstName     = firstName;
                        visitor.CarType       = carType;
                        visitor.StartDateTime = startDateTime;
                        visitor.StopDateTime  = stopDateTime;
                        visitor.CompanyId     = companyId;
                        visitor.LastName      = lastName;
                        //visitor.Company = company;

                        visitor.ReturnDate = stopDateTime;
                        // visitor.Email = string.IsNullOrEmpty(email) ? "" : email;           //error
                        visitor.Email       = email;
                        visitor.PhoneNumber = phoneNumber;
                        visitor.FirstName   = firstName;
                        visitor.LastName    = lastName;

                        //New Visitor..change accordingly
                        visitor.IsDeleted      = false;
                        visitor.IsUpdated      = false;
                        visitor.UpdateDatetime = startDateTime;
                        //visitor.LastChange = (DateTime)startDateTime; //error
                        visitor.LastChange     = startDateTime;
                        visitor.Accept         = true;
                        visitor.AcceptUserId   = 1;
                        visitor.Active         = true;
                        visitor.AcceptDateTime = startDateTime;

                        //Modfied accordingly
                        visitor.CardNeedReturn      = true;
                        visitor.IsPhoneNrAccessUnit = isphonenraccessunit;
                        visitor.IsCarNrAccessUnit   = iscarnraccessunit;
                        visitor.CardNeedReturn      = iscardneedreturn;
                        visitor.ReturnDate          = returndate;
                        visitor.PersonalCode        = PersonalCode;
                        visitor.Comment             = Comment;
                        _visitorRepository.Add(visitor);

                        work.Commit();
                        try
                        {
                            result.Id = visitor.Id;
                            var entity = new VisitorEventEntity(_visitorRepository.FindById(result.Id));

                            var message = entity.GetCreateMessage();

                            _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId, message.ToString());
                        }
                        catch (Exception e) { Console.WriteLine("error:" + e); }
                    }
                    else
                    {
                        result.Id = 0 - Convert.ToInt32(tc);
                    }
                }
                return(result);
            }
        }
Exemple #5
0
 public Visitor Add(Visitor _model)
 {
     return(_Repository.Add(_model));
 }