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()); } }
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); } }
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()); } }
public FoxSecPrincipal(IFoxSecIdentity identity) : base(identity, new string[] {}) { }
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; } }
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); }
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); }
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); } }
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); }
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()); } }
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 { } } }
/* 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); } }