public ActionResult Zone(int timeZoneId, int colNr) { var tzpvm = CreateViewModel <TimeZonePropertiesViewModel>(); Mapper.Map(_userTimeZonePropertyRepository.FindAll(x => x.UserTimeZoneId == timeZoneId && x.OrderInGroup == colNr).FirstOrDefault(), tzpvm); return(PartialView(tzpvm)); }
/* public void SynchonizeUserTimeZones(int userId) * { * int[] userTimeZoneIds = (from utz in _userTimeZoneRepository.FindAll(x => !x.IsDeleted && x.UserId == userId && x.TimeZoneId.HasValue) select utz.TimeZoneId.Value).ToArray(); * int[] commonTimeZoneIds = (from tz in _timeZoneRepository.FindAll(x => !x.IsDeleted) select tz.Id).ToArray(); * int[] copyTimeZoneIds = (from id in commonTimeZoneIds where !userTimeZoneIds.Contains(id) select id).ToArray(); * string loginName = _userRepository.FindById(userId).LoginName; * * foreach (int id in copyTimeZoneIds) * { * var tz = _timeZoneRepository.FindById(id); * var createTz = true; * if( CurrentUser.Get().IsCompanyManager ) * { * var utz = tz.UserTimeZones.Where(x => !x.IsDeleted && x.IsCompanySpecific).FirstOrDefault(); * * if( utz != null ) * { * var user = _userRepository.FindById(utz.UserId); * if( user.CompanyId != CurrentUser.Get().CompanyId ) * { * createTz = false; * } * } * } * * if( createTz ) * { * using (IUnitOfWork work = UnitOfWork.Begin()) * { * UserTimeZone userTimeZone = DomainObjectFactory.CreateUserTimeZone(); * //TimeZone timeZone = new //_timeZoneRepository.FindById(id); * * userTimeZone.UserId = userId; * //userTimeZone.TimeZoneId = timeZone.Id; Edit Later * userTimeZone.ParentUserTimeZoneId = null; * //userTimeZone.Name = timeZone.Name; * userTimeZone.Uid = Guid.NewGuid(); * userTimeZone.IsOriginal = true; * userTimeZone.IsDeleted = false; * userTimeZone.IsCompanySpecific = false; * * var tzProperties = _timeZonePropertyRepository.FindAll(x => x.TimeZoneId == timeZone.Id).ToList(); * * foreach (var tzp in tzProperties) * { * UserTimeZoneProperty utzp = DomainObjectFactory.CreateUserTimeZoneProperty(); * * utzp.UserTimeZoneId = userTimeZone.Id; * utzp.TimeZoneId = tzp.TimeZoneId; * utzp.OrderInGroup = tzp.OrderInGroup; * utzp.ValidFrom = tzp.ValidFrom; * utzp.ValidTo = tzp.ValidTo; * utzp.IsMonday = tzp.IsMonday; * utzp.IsTuesday = tzp.IsTuesday; * utzp.IsWednesday = tzp.IsWednesday; * utzp.IsThursday = tzp.IsThursday; * utzp.IsFriday = tzp.IsFriday; * utzp.IsSaturday = tzp.IsSaturday; * utzp.IsSunday = tzp.IsSunday; * * userTimeZone.UserTimeZoneProperties.Add(utzp); * * var message = new XElement(XMLLogLiterals.LOG_MESSAGE); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageUTZPropertyforUTZCreated", * new List<string> {userTimeZone.Name, loginName})); * * * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageTimeZoneId", * new List<string> {utzp.TimeZoneId.ToString()})); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageOrderInGroup", * new List<string> {utzp.OrderInGroup.ToString()})); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageValidFrom", * new List<string> * { * utzp.ValidFrom.HasValue * ? utzp.ValidFrom.Value.ToString("HH:mm") * : "" * })); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageValidTo", * new List<string> * { * utzp.ValidTo.HasValue ? utzp.ValidTo.Value.ToString("HH:mm") : "" * })); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageIsMonday", new List<string> {utzp.IsMonday.ToString()})); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageIsTuesday", new List<string> {utzp.IsTuesday.ToString()})); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageIsWednesday", * new List<string> {utzp.IsWednesday.ToString()})); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageIsThursday", * new List<string> {utzp.IsThursday.ToString()})); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageIsFriday", new List<string> {utzp.IsFriday.ToString()})); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageIsSaturday", * new List<string> {utzp.IsSaturday.ToString()})); * message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageIsSunday", new List<string> {utzp.IsSunday.ToString()})); * * _logService.CreateLog(CurrentUser.Get().Id, "web", CurrentUser.Get().HostName, CurrentUser.Get().CompanyId, * message.ToString()); * } * * _userTimeZoneRepository.Add(userTimeZone); * * work.Commit(); * * var mesage = new XElement(XMLLogLiterals.LOG_MESSAGE); * mesage.Add(XMLLogMessageHelper.TemplateToXml("LogMessageUserTimeZoneCommonCreated", * new List<string> {userTimeZone.Name, loginName})); * _logService.CreateLog(CurrentUser.Get().Id, "web", CurrentUser.Get().HostName, CurrentUser.Get().CompanyId, mesage.ToString()); * _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, userTimeZone.Id, UpdateParameter.UserTimeZoneUpdate, ControllerStatus.Created, userTimeZone.Name); * } * } * } * } */ public int CreateUserTimeZone(string name) { using (IUnitOfWork work = UnitOfWork.Begin()) { UserTimeZone userTimeZone = DomainObjectFactory.CreateUserTimeZone(); if (CurrentUser.Get().IsCompanyManager) { UserTimeZone mtz = _userTimeZoneRepository.FindAll(x => x.CompanyId == null && x.Name == name).First(); userTimeZone.TimeZoneId = mtz.TimeZoneId; userTimeZone.CompanyId = CurrentUser.Get().CompanyId; userTimeZone.UserId = CurrentUser.Get().Id; userTimeZone.Name = name; userTimeZone.Uid = Guid.NewGuid(); userTimeZone.IsOriginal = false; userTimeZone.IsDeleted = false; userTimeZone.IsCompanySpecific = CurrentUser.Get().IsCompanyManager; var timezoneprop = (from tzp in _userTimeZonePropertyRepository.FindAll(x => x.UserTimeZoneId == mtz.Id) select tzp); for (int i = 0; i < 4; i++) { var userTimeZoneProperty = DomainObjectFactory.CreateUserTimeZoneProperty(); UserTimeZoneProperty utzp = (from tzp in timezoneprop where tzp.OrderInGroup == i select tzp).First(); userTimeZoneProperty.UserTimeZoneId = userTimeZone.Id; userTimeZoneProperty.TimeZoneId = userTimeZone.TimeZoneId; userTimeZoneProperty.OrderInGroup = i; userTimeZoneProperty.ValidFrom = utzp.ValidFrom; userTimeZoneProperty.ValidTo = utzp.ValidTo; userTimeZoneProperty.IsMonday = utzp.IsMonday; userTimeZoneProperty.IsTuesday = utzp.IsTuesday; userTimeZoneProperty.IsWednesday = utzp.IsWednesday; userTimeZoneProperty.IsThursday = utzp.IsThursday; userTimeZoneProperty.IsFriday = utzp.IsFriday; userTimeZoneProperty.IsSaturday = utzp.IsSaturday; userTimeZoneProperty.IsSunday = utzp.IsSunday; userTimeZone.UserTimeZoneProperties.Add(userTimeZoneProperty); } } else { var userTimeZoneIds = (from tz in _userTimeZoneRepository.FindAll(x => x.IsDeleted == true && x.CompanyId == null) select tz); if (userTimeZoneIds.Count() != 0) { userTimeZoneIds.First().Name = name; userTimeZoneIds.First().IsDeleted = false; } else { var maxid = (from tz in _userTimeZoneRepository.FindAll() where tz.CompanyId == null select tz.TimeZoneId).Max(); userTimeZone.CompanyId = CurrentUser.Get().IsSuperAdmin ? null : CurrentUser.Get().CompanyId; userTimeZone.UserId = CurrentUser.Get().Id; userTimeZone.Name = name; userTimeZone.Uid = Guid.NewGuid(); userTimeZone.IsOriginal = true; userTimeZone.IsDeleted = false; userTimeZone.IsCompanySpecific = CurrentUser.Get().IsSuperAdmin; if (maxid != null) { userTimeZone.TimeZoneId = maxid + 1; } else { userTimeZone.TimeZoneId = 1; } } for (int i = 0; i < 4; i++) { var validFrom = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 8, 0, 0); var validTo = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 20, 0, 0); UserTimeZoneProperty userTimeZoneProperty = DomainObjectFactory.CreateUserTimeZoneProperty(); userTimeZoneProperty.UserTimeZoneId = userTimeZone.Id; userTimeZoneProperty.TimeZoneId = userTimeZone.TimeZoneId; userTimeZoneProperty.OrderInGroup = i; userTimeZoneProperty.ValidFrom = validFrom; userTimeZoneProperty.ValidTo = validTo; userTimeZoneProperty.IsMonday = true; userTimeZoneProperty.IsTuesday = false; userTimeZoneProperty.IsWednesday = false; userTimeZoneProperty.IsThursday = false; userTimeZoneProperty.IsFriday = false; userTimeZoneProperty.IsSaturday = false; userTimeZoneProperty.IsSunday = false; userTimeZone.UserTimeZoneProperties.Add(userTimeZoneProperty); } } _userTimeZoneRepository.Add(userTimeZone); work.Commit(); var message = new XElement(XMLLogLiterals.LOG_MESSAGE); message.Add(XMLLogMessageHelper.TemplateToXml("LogMessageUserTimeZoneCreated", new List <string> { name, CurrentUser.Get().LoginName })); _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId, message.ToString()); _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, userTimeZone.Id, UpdateParameter.UserTimeZoneUpdate, ControllerStatus.Created, name); return(userTimeZone.Id); } }