Ejemplo n.º 1
0
        public void UpdateCompany(int id, string name, string comment, string host)
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                Company         company     = _companyRepository.FindById(id);
                IFoxSecIdentity identity    = CurrentUser.Get();
                var             old_name    = company.Name;
                var             old_comment = company.Comment;
                company.Name         = name;
                company.ModifiedLast = DateTime.Now;
                company.ModifiedBy   = identity.LoginName;
                company.Comment      = comment;

                work.Commit();

                var message = new XElement(XMLLogLiterals.LOG_MESSAGE);
                message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCompanyChanged", new List <string> {
                    old_name
                }));
                if (old_name != name)
                {
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageNameChanged", new List <string> {
                        old_name, name
                    }));
                }
                if (old_comment != comment)
                {
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCommentChange", new List <string> {
                        old_comment, comment
                    }));
                }

                _logservice.CreateLog(CurrentUser.Get().Id, "web", flag, host, CurrentUser.Get().CompanyId, message.ToString());
            }
        }
Ejemplo n.º 2
0
        public void DeleteVisitor(int id, string host)
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                Visitor user = _visitorRepository.FindById(id);


                var logEntity = new VisitorEventEntity(user);

                IFoxSecIdentity identity = CurrentUser.Get();
                var             e        = new VisitorDeletedEventArgs(user, identity.LoginName, identity.FirstName, identity.LastName, DateTime.Now);

                user.IsDeleted = true;
                work.Commit();

                _logService.CreateLog(CurrentUser.Get().Id, "web", flag, host, CurrentUser.Get().CompanyId, logEntity.GetDeleteMessage());

                //	_controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, id, UpdateParameter.UserNameChanged, ControllerStatus.Deleted, string.Empty);

                _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, id, UpdateParameter.UserStatusChanged, ControllerStatus.Deleted, string.Empty);

                /*
                 *              if( !string.IsNullOrEmpty(PIN1) )
                 *              {
                 *                  _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, id, UpdateParameter.UserPin1Changed, ControllerStatus.Deleted, PIN1);
                 *              }
                 *
                 *              if( !string.IsNullOrEmpty(PIN2) )
                 *              {
                 *                  _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, id, UpdateParameter.UserPin2Changed, ControllerStatus.Deleted, PIN2);
                 *              } */

                //EventAggregator.GetEvent<UserDeletedEvent>().Publish(e);
            }
        }
        public void OnActionExecuting(ActionExecutingContext filterContext)
        {
            IFoxSecIdentity identity = _currentUser.Get();

            if (!_permissions.All(p => identity.Permissions[p]))
            {
                var rvd =
                    new RouteValueDictionary(
                        new { controller = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName, action = "AccessDenied" });

                filterContext.Result = new RedirectToRouteResult(rvd);
            }
        }
Ejemplo n.º 4
0
        public void DeleteRole(int id)
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                Role role          = _roleRepository.FindById(id);
                var  logRoleEntity = new RoleEventEntity(role);

                IFoxSecIdentity identity = CurrentUser.Get();
                var             e        = new RoleDeletedEventArgs(role, identity.LoginName, identity.FirstName, identity.LastName, DateTime.Now);

                role.IsDeleted = true;
                work.Commit();

                EventAggregator.GetEvent <RoleDeletedEvent>().Publish(e);

                _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName,
                                      CurrentUser.Get().CompanyId, logRoleEntity.GetDeleteMessage());
            }
        }
Ejemplo n.º 5
0
 public FoxSecPrincipal(IFoxSecIdentity identity) : base(identity, new string[] {})
 {
 }
Ejemplo n.º 6
0
        public void CreateCard(int?userId, int?typeId, int?companyId, int buildingId, string serial, string dk, string code, bool isFree, DateTime?from, DateTime?to, bool?IsMainUnit)
        {
            //var result = -1;
            var is_new       = true;
            var card_message = string.Empty;
            int?cardId       = null;

            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                int?id = IsCardInSystem(serial, dk, code);

                var message = string.Empty;

                if (!id.HasValue)
                {
                    UsersAccessUnit usersAccessUnit = DomainObjectFactory.CreateUsersAccessUnit();
                    IFoxSecIdentity identity        = CurrentUser.Get();

                    usersAccessUnit.UserId     = userId;
                    usersAccessUnit.CompanyId  = companyId;
                    usersAccessUnit.TypeId     = typeId;
                    usersAccessUnit.Serial     = serial;
                    usersAccessUnit.Code       = code;
                    usersAccessUnit.Free       = isFree;
                    usersAccessUnit.Active     = !isFree;
                    usersAccessUnit.Dk         = dk;
                    usersAccessUnit.IsDeleted  = false;
                    usersAccessUnit.CreatedBy  = identity.Id;
                    usersAccessUnit.ValidFrom  = from;
                    usersAccessUnit.ValidTo    = to;
                    usersAccessUnit.BuildingId = Convert.ToInt32(buildingId);
                    usersAccessUnit.IsMainUnit = IsMainUnit;

                    _usersAccessUnitRepository.Add(usersAccessUnit);

                    work.Commit();
                    var logCardEntity =
                        new UserAccessUnitEventEntity(_usersAccessUnitRepository.FindById(usersAccessUnit.Id));
                    cardId = usersAccessUnit.Id;

                    card_message = string.Format(" Card '{0}'. Valid from '{1}' to '{2}'", string.IsNullOrEmpty(usersAccessUnit.Code)
                                                                                    ? string.Format("{0} {1}",
                                                                                                    usersAccessUnit.Serial,
                                                                                                    usersAccessUnit.Dk)
                                                                                                    : usersAccessUnit.Code,
                                                 usersAccessUnit.ValidFrom.HasValue ? usersAccessUnit.ValidFrom.Value.ToString("dd.MM.yyyy") : "not setted",
                                                 usersAccessUnit.ValidTo.HasValue ? usersAccessUnit.ValidTo.Value.ToString("dd.MM.yyyy") : "not setted");

                    message = logCardEntity.GetCreateMessage();

                    _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName,
                                          CurrentUser.Get().CompanyId, message);

                    _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, cardId.Value, UpdateParameter.UserCardChange, is_new ? ControllerStatus.Created : ControllerStatus.Edited, card_message);
                }
                else
                {
                    is_new = false;
                    cardId = id;

                    UsersAccessUnit usersAccessUnit = _usersAccessUnitRepository.FindById(id.Value);
                    var             logCardEntity   = new UserAccessUnitEventEntity(usersAccessUnit);

                    usersAccessUnit.UserId    = userId;
                    usersAccessUnit.CompanyId = companyId;
                    usersAccessUnit.TypeId    = typeId;
                    usersAccessUnit.Serial    = serial;
                    usersAccessUnit.Code      = code;
                    usersAccessUnit.Free      = isFree;
                    if (!usersAccessUnit.Active)
                    {
                        usersAccessUnit.ClassificatorValueId = null;
                    }
                    usersAccessUnit.Active     = true;
                    usersAccessUnit.Dk         = dk;
                    usersAccessUnit.IsDeleted  = false;
                    usersAccessUnit.ValidFrom  = from;
                    usersAccessUnit.ValidTo    = to;
                    usersAccessUnit.BuildingId = buildingId;


                    work.Commit();

                    card_message = string.Format(" Card '{0}'. Valid from '{1}' to '{2}'", string.IsNullOrEmpty(usersAccessUnit.Code)
                                                                                    ? string.Format("{0} {1}",
                                                                                                    usersAccessUnit.Serial,
                                                                                                    usersAccessUnit.Dk)
                                                                                                    : usersAccessUnit.Code,
                                                 usersAccessUnit.ValidFrom.HasValue ? usersAccessUnit.ValidFrom.Value.ToString("dd.MM.yyyy") : "not setted",
                                                 usersAccessUnit.ValidTo.HasValue ? usersAccessUnit.ValidTo.Value.ToString("dd.MM.yyyy") : "not setted");

                    logCardEntity.SetNewUserAccessUnit(_usersAccessUnitRepository.FindById(usersAccessUnit.Id));

                    message = logCardEntity.GetEditMessage();

                    _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName,
                                          CurrentUser.Get().CompanyId, message);

                    _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, cardId.Value, UpdateParameter.UserCardChange, is_new ? ControllerStatus.Created : ControllerStatus.Edited, card_message);
                }
                //result = 1;
            }
        }
Ejemplo n.º 7
0
        public RoleCreateResult EditRole(int id, string name, string description, string modifiedBy, bool active, int roleTypeId, IEnumerable <RoleBuildingDto> buildings, IEnumerable <int> permissionIds = null, IEnumerable <int> menuIds = null)
        {
            var result = new RoleCreateResult {
                ErrorCode = RoleServiceErrorCode.Ok
            };

            if (_roleRepository.FindAll().Where(x => !x.IsDeleted && x.Name == name && x.Id != id).Count() > 0)
            {
                result.ErrorCode = RoleServiceErrorCode.RoleAlreadyExists;
                return(result);
            }

            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                Role role          = _roleRepository.FindById(id);
                var  logRoleEntity = new RoleEventEntity(role);

                role.Name        = name;
                role.Description = description;
                role.RoleTypeId  = roleTypeId;
                role.AssignPermissions(permissionIds.NullSafe());
                role.AssignMenues(menuIds.NullSafe());

                role.ModifiedLast = DateTime.Now;
                role.ModifiedBy   = modifiedBy;
                role.Active       = active;



                IFoxSecIdentity identity = CurrentUser.Get();
                var             e        = new RoleEditedEventArgs(role, identity.LoginName, identity.FirstName, identity.LastName, DateTime.Now);

                foreach (var building in buildings)
                {
                    if (building.IsChecked)
                    {
                        var roleBuilding =
                            role.RoleBuildings.Where(x => x.RoleId == id && x.BuildingId == building.BuildingId.Value).FirstOrDefault();
                        if (roleBuilding == null)
                        {
                            roleBuilding = DomainObjectFactory.CreateRoleBuilding();
                        }
                        roleBuilding.RoleId     = role.Id;
                        roleBuilding.BuildingId = building.BuildingId.Value;
                        roleBuilding.IsDeleted  = false;
                        role.RoleBuildings.Add(roleBuilding);
                    }
                    else
                    {
                        var roleBuilding =
                            role.RoleBuildings.Where(x => x.RoleId == id && x.BuildingId == building.BuildingId.Value).FirstOrDefault();
                        if (roleBuilding != null)
                        {
                            roleBuilding.IsDeleted = true;
                        }
                    }
                }


                work.Commit();

                e.SetNewRole(role);
                EventAggregator.GetEvent <RoleEditedEvent>().Publish(e);

                logRoleEntity.SetNewRole(role);
                _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId,
                                      logRoleEntity.GetEditMessage());
                _conrtollerCreateService.CreateControllerUpdate(CurrentUser.Get().Id, id, UpdateParameter.UserRoleManagement, ControllerStatus.Created, "Active");
            }

            return(result);
        }
Ejemplo n.º 8
0
        public RoleCreateResult CreateRole(string name, string description, string createdBy, bool active, int roleTypeId, IEnumerable <RoleBuildingDto> buildings, IEnumerable <int> permissionIds = null, IEnumerable <int> menuIds = null)
        {
            var result = new RoleCreateResult {
                ErrorCode = RoleServiceErrorCode.Ok
            };

            if (_roleRepository.FindByName(name).Count() != 0)
            {
                result.ErrorCode = RoleServiceErrorCode.RoleAlreadyExists;
                return(result);
            }

            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                Role role = DomainObjectFactory.CreateRole();

                role.Name        = name;
                role.Description = description;
                role.RoleTypeId  = roleTypeId;

                role.AssignPermissions(permissionIds.NullSafe());
                role.AssignMenues(menuIds.NullSafe());

                role.ModifiedLast = DateTime.Now;
                role.ModifiedBy   = createdBy;
                role.Active       = active;
                role.IsDeleted    = false;
                role.StaticId     = -1;
                role.UserId       = CurrentUser.Get().Id;
                foreach (var building in buildings)
                {
                    if (building.IsChecked)
                    {
                        var roleBuilding = DomainObjectFactory.CreateRoleBuilding();
                        roleBuilding.RoleId     = role.Id;
                        roleBuilding.BuildingId = building.BuildingId.Value;
                        roleBuilding.IsDeleted  = false;
                        role.RoleBuildings.Add(roleBuilding);
                    }
                }

                _roleRepository.Add(role);

                work.Commit();

                IFoxSecIdentity identity = CurrentUser.Get();
                var             e        = new RoleCreatedEventArgs(role, identity.LoginName, identity.FirstName, identity.LastName, DateTime.Now);



                var logRoleEntity = new RoleEventEntity(_roleRepository.FindById(role.Id));

                _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId,
                                      logRoleEntity.GetCreateMessage());
                // _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, CurrentUser.Get().Id, UpdateParameter.UserStatusChanged, ControllerStatus.Created, "Active");
                EventAggregator.GetEvent <RoleCreatedEvent>().Publish(e);
                _conrtollerCreateService.CreateControllerUpdate(CurrentUser.Get().Id, CurrentUser.Get().Id, UpdateParameter.UserRoleManagement, ControllerStatus.Created, "Active");
            }

            return(result);
        }
Ejemplo n.º 9
0
        public string SaveUpdateCameraDetails(string Name, string ServerNr, string CameraNr, string Port, string ResX, string ResY, string Skip, string Delay, string QuickPreviewSeconds, string EnableLiveControls, int?Id, int?type)
        {
            try
            {
                IFoxSecIdentity identity = CurrentUser.Get();
                if (type == 2)
                {
                    int    ocameraid            = 0;
                    string oservernr            = "";
                    string oCameraNr            = "";
                    string oName                = "";
                    string oPort                = "";
                    string oResX                = "";
                    string oResY                = "";
                    string oSkip                = "";
                    string oDelay               = "";
                    string oEnableLiveControls  = "";
                    string oQuickPreviewSeconds = "";

                    SqlCommand myCommand = new SqlCommand("select id,ServerNr,CameraNr,Name,Port,ResX,ResY,Skip,Delay,EnableLiveControls,QuickPreviewSeconds from FSCameras where id='" + Id + "'", myConnection);

                    SqlDataReader dr = myCommand.ExecuteReader();
                    while (dr.Read())
                    {
                        ocameraid            = Convert.ToInt32(Id);
                        oservernr            = dr["ServerNr"].ToString();
                        oCameraNr            = dr["CameraNr"].ToString();
                        oName                = dr["Name"].ToString();
                        oPort                = dr["Port"].ToString();
                        oResX                = dr["ResX"].ToString();
                        oResY                = dr["ResY"].ToString();
                        oSkip                = dr["Skip"].ToString();
                        oDelay               = dr["Delay"].ToString();
                        oEnableLiveControls  = dr["EnableLiveControls"].ToString();
                        oQuickPreviewSeconds = dr["QuickPreviewSeconds"].ToString();
                    }

                    myConnection.Open();
                    SqlCommand cmd = new SqlCommand("update FSCameras set ServerNr='" + ServerNr + "',CameraNr='" + CameraNr + "',Name='" + Name + "',Port='" + Port + "',ResX='" + ResX + "',ResY='" + ResY + "',Skip='" + Skip + "',Delay='" + Delay + "',EnableLiveControls='" + EnableLiveControls + "',QuickPreviewSeconds='" + QuickPreviewSeconds + "' where id='" + Id + "'", myConnection);
                    cmd.ExecuteNonQuery();
                    myConnection.Close();

                    var message = new XElement(XMLLogLiterals.LOG_MESSAGE);
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdated", new List <string> {
                        Name, identity.LoginName
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedNameChanged", new List <string> {
                        oName, Name
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedServerNrChanged", new List <string> {
                        oservernr, ServerNr
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedCameraNrChanged", new List <string> {
                        oCameraNr, CameraNr
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedPortChanged", new List <string> {
                        oPort, Port
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedResXChanged", new List <string> {
                        oResX, ResX
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedResYChanged", new List <string> {
                        oResY, ResY
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedSkipChanged", new List <string> {
                        oSkip, Skip
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedDelayChanged", new List <string> {
                        oDelay, Delay
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedEnableLiveControlsChanged", new List <string> {
                        oEnableLiveControls, EnableLiveControls
                    }));
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageFSCamerasUpdatedQuickPreviewSecondsChanged", new List <string> {
                        oQuickPreviewSeconds, QuickPreviewSeconds
                    }));

                    _logservice.CreateLog(CurrentUser.Get().Id, "web", "", "", CurrentUser.Get().CompanyId, message.ToString());
                }
                return("1");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Ejemplo n.º 10
0
        public int CreateCompany(int?parentId, string name, string comment, bool isCanUseOwnCards, string host, IEnumerable <CompanyBuildingDto> companyBuildings)
        {
            int result = 0;

            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                Company         company  = DomainObjectFactory.CreateCompany();
                IFoxSecIdentity identity = CurrentUser.Get();

                var message = new XElement(XMLLogLiterals.LOG_MESSAGE);
                message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCompanyCreated", new List <string> {
                    name, identity.LoginName
                }));
                if (parentId != null)
                {
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCompanyParent", new List <string> {
                        _companyRepository.FindById(parentId.Value).Name
                    }));
                }
                message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageComment", new List <string> {
                    comment
                }));


                company.Name             = name;
                company.ModifiedLast     = DateTime.Now;
                company.ModifiedBy       = identity.LoginName;
                company.Comment          = comment;
                company.Active           = true;
                company.IsDeleted        = false;
                company.ParentId         = parentId;
                company.IsCanUseOwnCards = isCanUseOwnCards;
                message.Add(isCanUseOwnCards
                                ? XMLLogMessageHelper.TemplateToXml("LogMessageCanUseOwnCardsTrue", null)
                                : XMLLogMessageHelper.TemplateToXml("LogMessageCanUseOwnCardsFalse", null));

                if (companyBuildings != null)
                {
                    foreach (var companyBuildingDto in companyBuildings)
                    {
                        if (companyBuildingDto.IsSelected)
                        {
                            var cbo = DomainObjectFactory.CreateCompanyBuildingObject();
                            var bo  = _buildingObjectRepository.FindById(companyBuildingDto.BuildingObjectId);
                            message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageBuildingObjectAdded", new List <string> {
                                bo.Description, bo.Building.Name
                            }));
                            cbo.BuildingObjectId = companyBuildingDto.BuildingObjectId;
                            cbo.CompanyId        = company.Id;
                            cbo.ValidFrom        = DateTime.Now;
                            cbo.ValidTo          = DateTime.Now.AddYears(50);
                            cbo.IsDeleted        = false;
                            company.CompanyBuildingObjects.Add(cbo);
                        }
                    }
                }

                _companyRepository.Add(company);

                work.Commit();

                result = company.Id;

                _logservice.CreateLog(CurrentUser.Get().Id, "web", flag, host, CurrentUser.Get().CompanyId, message.ToString());
            }

            return(result);
        }
Ejemplo n.º 11
0
        public void UpdateCompany(int id, string name, string comment, bool isCanUseOwnCards, string host, IEnumerable <CompanyBuildingDto> companyBuildings)
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                Company         company     = _companyRepository.FindById(id);
                IFoxSecIdentity identity    = CurrentUser.Get();
                var             old_name    = company.Name;
                var             old_comment = company.Comment;
                company.Name             = name;
                company.ModifiedLast     = DateTime.Now;
                company.ModifiedBy       = identity.LoginName;
                company.Comment          = comment;
                company.IsCanUseOwnCards = isCanUseOwnCards;
                var message = new XElement(XMLLogLiterals.LOG_MESSAGE);
                message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCompanyChanged", new List <string> {
                    old_name
                }));
                if (old_name != name)
                {
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageNameChanged", new List <string> {
                        old_name, name
                    }));
                }
                if (old_comment != comment)
                {
                    message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageCommentChange", new List <string> {
                        old_comment, comment
                    }));
                }
                message.Add(isCanUseOwnCards
                                ? XMLLogMessageHelper.TemplateToXml("LogMessageCanUseOwnCardsTrue", null)
                                : XMLLogMessageHelper.TemplateToXml("LogMessageCanUseOwnCardsFalse", null));
                foreach (var cb in company.CompanyBuildingObjects)
                {
                    if (!companyBuildings.Any(x => x.BuildingObjectId == cb.BuildingObjectId))
                    {
                        if (!cb.IsDeleted)
                        {
                            message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageBuildingObjectRemoved", new List <string> {
                                cb.BuildingObject.Description, cb.BuildingObject.Building.Name
                            }));
                        }
                        cb.IsDeleted = true;
                    }
                }
                foreach (var companyBuildingDto in companyBuildings)
                {
                    CompanyBuildingObject cbo =
                        company.CompanyBuildingObjects.Where(
                            x => x.BuildingObjectId == companyBuildingDto.BuildingObjectId).FirstOrDefault();

                    if (cbo != null)
                    {
                        if (companyBuildingDto.IsSelected)
                        {
                            cbo.ValidFrom = DateTime.Now;
                            cbo.ValidTo   = DateTime.Now.AddYears(50);
                            if (cbo.IsDeleted)
                            {
                                message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageBuildingObjectAdded",
                                                                              new List <string>
                                {
                                    cbo.BuildingObject.Description,
                                    cbo.BuildingObject.Building.Name
                                }));
                            }
                        }
                        else
                        {
                            if (!cbo.IsDeleted)
                            {
                                message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageBuildingObjectRemoved",
                                                                              new List <string>
                                {
                                    cbo.BuildingObject.Description,
                                    cbo.BuildingObject.Building.Name
                                }));
                            }
                        }
                        cbo.IsDeleted = !companyBuildingDto.IsSelected;
                    }
                    else
                    {
                        cbo                  = DomainObjectFactory.CreateCompanyBuildingObject();
                        cbo.CompanyId        = company.Id;
                        cbo.BuildingObjectId = companyBuildingDto.BuildingObjectId;
                        cbo.ValidFrom        = DateTime.Now;
                        cbo.ValidTo          = DateTime.Now.AddYears(50);
                        cbo.IsDeleted        = !companyBuildingDto.IsSelected;
                        company.CompanyBuildingObjects.Add(cbo);
                        var bo = _buildingObjectRepository.FindById(companyBuildingDto.BuildingObjectId);
                        if (cbo.IsDeleted)
                        {
                            message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageBuildingObjectRemoved",
                                                                          new List <string> {
                                bo.Description, bo.Building.Name
                            }));
                        }
                        else
                        {
                            message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageBuildingObjectAdded",
                                                                          new List <string> {
                                bo.Description, bo.Building.Name
                            }));
                        }
                    }
                }

                work.Commit();

                _logservice.CreateLog(CurrentUser.Get().Id, "web", flag, host, CurrentUser.Get().CompanyId, message.ToString());
            }
        }
Ejemplo n.º 12
0
        public void EditUserPersonalData(int id,
                                         string firstName,
                                         string lastName,
                                         int?companyid,
                                         string phonenr,
                                         bool isphonenraccessunit,
                                         string email,
                                         string carnr,
                                         bool iscarnraccessunit,
                                         string cartype,
                                         DateTime?startdatetime,
                                         DateTime?stopdatetime,
                                         int?userid,
                                         bool cardneedreturn,
                                         DateTime?returndate,
                                         string PersonalCode,
                                         string Comment
                                         )
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                Visitor         user     = _visitorRepository.FindById(id);
                IFoxSecIdentity identity = CurrentUser.Get();

                var logEntity = new VisitorEventEntity(user);

                if (companyid != user.CompanyId)
                {
                    var c1 = companyid.HasValue ? _companyRepository.FindById(companyid.Value) : null;
                }

                //if (user.UserId == userid)
                //{
                //}
                //else
                {
                    int cardid = 0;
                    if (userid == null)
                    {
                        cardid = _usersAccessUnitRepository.FindAll(x => !x.IsDeleted && x.UserId == user.UserId && x.Id == user.ParentVisitorsId).Select(x => x.Id).FirstOrDefault();
                        user.ParentVisitorsId = null;
                    }
                    else
                    {
                        cardid = _usersAccessUnitRepository.FindAll(x => !x.IsDeleted && x.UserId == userid && x.TypeId == 7 && x.Active == true && x.ValidTo < DateTime.Now).Select(x => x.Id).FirstOrDefault();
                        user.ParentVisitorsId = cardid;
                    }

                    List <UsersAccessUnit> carddetails = _usersAccessUnitRepository.FindAll(x => !x.IsDeleted && x.UserId == userid && x.TypeId == 7 && x.Active == true).ToList();
                    foreach (var obj in carddetails)
                    {
                        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, "", CurrentUser.Get().CompanyId, message2.ToString());
                    }
                }

                if (stopdatetime != null)
                {
                    if (stopdatetime < DateTime.Now)
                    {
                        userid = null;
                    }
                }

                if (companyid == null || companyid == 0)
                {
                    if (userid != null)
                    {
                        companyid = _userRepository.FindById(Convert.ToInt32(userid)).CompanyId;
                    }
                }

                user.CompanyId = companyid;

                user.FirstName = firstName;
                user.LastName  = lastName;

                user.PhoneNumber         = phonenr;
                user.IsPhoneNrAccessUnit = isphonenraccessunit;
                user.Email             = email;
                user.CarNr             = carnr;
                user.IsCarNrAccessUnit = iscarnraccessunit;
                user.CarType           = cartype;
                user.StartDateTime     = startdatetime;
                user.StopDateTime      = stopdatetime;
                user.UserId            = userid;
                user.CardNeedReturn    = cardneedreturn;
                user.ReturnDate        = returndate;
                user.IsUpdated         = true;
                user.UpdateDatetime    = DateTime.Now;
                user.LastChange        = DateTime.Now;
                user.PersonalCode      = PersonalCode;
                user.Comment           = Comment;

                work.Commit();

                logEntity.SetNewUser(_visitorRepository.FindById(id));

                _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId,
                                      logEntity.ChangeWorkDataMessage());

                if (userid != null)
                {
                    _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, Convert.ToInt32(userid), UpdateParameter.UserStatusChanged, ControllerStatus.Edited, string.Format("User save button"));
                }
                else
                {
                }
            }
        }
Ejemplo n.º 13
0
        /* 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);
            }
        }