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 bool GiveCardBack(int id, DateTime returndate, bool cardneedreturn, int userID) { using (IUnitOfWork work = UnitOfWork.Begin()) { try { DateTime retdate = returndate.AddDays(-1); Visitor card = _visitorRepository.FindById(id); var logEntity = new VisitorEventEntity(card); //int cardid = Convert.ToInt32(card.ParentVisitorsId); int cardid = Convert.ToInt32(card.UserId); //UsersAccessUnit carddet = _usersAccessUnitRepository.FindById(Convert.ToInt32(cardid)); List <UsersAccessUnit> carddet = _usersAccessUnitRepository.FindAll(x => !x.IsDeleted && x.UserId == cardid && x.TypeId == 7 && x.Active == true).ToList(); var CardFullCode = ""; foreach (var obj in carddet) { UsersAccessUnit carddets = _usersAccessUnitRepository.FindById(Convert.ToInt32(obj.Id)); CardFullCode = carddets.CardFullCode; var message2 = new XElement(XMLLogLiterals.LOG_MESSAGE); message2.Add(XMLLogMessageHelper.TemplateToXml("LogMessageUserAccessUnitCardCodeSerial", new List <string> { carddets.Serial, carddets.Serial })); message2.Add(XMLLogMessageHelper.TemplateToXml("LogMessageUserAccessUnitCardCodeDk", new List <string> { carddets.Dk, carddets.Dk })); message2.Add(XMLLogMessageHelper.TemplateToXml("LogMessageUserAccessUnitCardValidToChanged", new List <string> { Convert.ToString(carddets.ValidTo), Convert.ToString(card.StopDateTime) })); message2.Add(XMLLogMessageHelper.TemplateToXml("LogMessageUserAccessUnitCardClosedChanged", new List <string> { Convert.ToString(carddets.Closed), Convert.ToString(returndate) })); carddets.ValidTo = retdate; carddets.Closed = returndate; carddets.Id = obj.Id; work.Commit(); _logservice1.CreateLog(CurrentUser.Get().Id, "web", flag, "", CurrentUser.Get().CompanyId, message2.ToString()); } card.ReturnDate = returndate; card.CardNeedReturn = cardneedreturn; card.StopDateTime = retdate; card.LastChange = DateTime.Now; card.ParentVisitorsId = null; card.UserId = null; //int usrid = 0; //if (card.ParentVisitorsId > 0 && card.ParentVisitorsId != null) //{ // usrid = (int)card.ParentVisitorsId; //} var ownername = ""; if (cardid > 0) { ownername = _usersRepository.FindById(cardid).LoginName; } work.Commit(); var msg = logEntity.CardReturnDataMessage(CardFullCode, ownername, returndate); _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId, msg); if (Convert.ToString(userID) != null) { _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, userID, UpdateParameter.UserCardChange, ControllerStatus.Edited, msg); } else { } } catch (Exception) { return(false); } return(true); } }
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); } }