public ActionResult LocationEdit(Location location, string Lat, string Lng) { Location CL = new Location(); if (location.LocationID != Guid.Empty) { CL = reposetory.GetLocation(location.LocationID); if (CL == null) return HttpNotFound(); } CL.association = location.association = reposetory.GetAssociation(location.association.AssociationID); if (ModelState.IsValid) { location.Trim(); CL.Name = location.Name; CL.ShortName = location.ShortName; CL.Description = location.Description; CL.Active = location.Active; CL.ShowNationalMap = location.ShowNationalMap; CL.Lat = location.Lat; CL.Lng = location.Lng; if (reposetory.SaveLocation(CL)) ViewBag.FormSucces = true; } return View(CL); }
public ActionResult LocationCreate(Guid id) { Association association = reposetory.GetAssociation(id); Location location = new Location { association = association }; return View("LocationEdit", location); }
public static Association ExtractAssociation(int id) { Dictionary<int, Guid> Assdictionary = new Dictionary<int, Guid>(); Dictionary<string, string> UserNamedictionary = new Dictionary<string, string>(); Dictionary<int, String> Locationdictionary = new Dictionary<int, String>(); Random random = new Random(); Association association = null; //Get Association using (SqlConnection cn = new SqlConnection(seedConnectionString)) { SqlCommand cmd = new SqlCommand("SELECT * FROM [Foreninger] WHERE ForeningsID = " + id.ToString(), cn); cmd.CommandType = CommandType.Text; cn.Open(); var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); while ((reader.Read())) { association = ConvertAssociation(reader); association.UseSchedulePlanning = true; association.PageSponsor = new NR.Models.Content { Title = DefaultForening.PageContentSponsorTitle, Body = DefaultForening.PageContentSponsor }; association.PageAbout = new NR.Models.Content { Title = DefaultForening.PageContentAboutTitle, Body = DefaultForening.PageContentAbout }; association.PagePress = new NR.Models.Content { Title = DefaultForening.PageContentPressTitle, Body = DefaultForening.PageContentPress }; association.PageLink = new NR.Models.Content { Title = DefaultForening.PageContentLinkTitle, Body = DefaultForening.PageContentLink }; Assdictionary.Add((int)reader["ForeningsID"], association.AssociationID); } } //Get persons association.Memberships = new List<NRMembership>(); using (SqlConnection cn = new SqlConnection(seedConnectionString)) { SqlCommand cmd = new SqlCommand(@"SELECT [Ravnetur].[dbo].[aspnet_Users].[UserId] ,[UserName] ,[Email] ,[Password] ,[PropertyNames] ,[PropertyValuesString] ,[LastActivityDate] ,[CreateDate] ,(SELECT CAST(1 AS BIT) AS Expr1 FROM [Ravnetur].[dbo].[aspnet_UsersInRoles] WHERE ([Ravnetur].[dbo].[aspnet_UsersInRoles].UserId = [Ravnetur].[dbo].[aspnet_Users].UserId AND [Ravnetur].[dbo].[aspnet_UsersInRoles].RoleId = 'ED1CAE67-880D-4EC0-A00F-81DD0A191749')) as [Planner] FROM [Ravnetur].[dbo].[aspnet_Users] LEFT JOIN [Ravnetur].[dbo].[aspnet_Profile] ON [Ravnetur].[dbo].[aspnet_Users].UserId = [Ravnetur].[dbo].[aspnet_Profile].UserId LEFT JOIN [Ravnetur].[dbo].[aspnet_Membership] ON [Ravnetur].[dbo].[aspnet_Users].UserId = [Ravnetur].[dbo].[aspnet_Membership].UserId;", cn); cmd.CommandType = CommandType.Text; cn.Open(); var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); while ((reader.Read())) { if (reader["PropertyValuesString"] != null & !Convert.IsDBNull(reader["PropertyValuesString"])) { string StrId = ReturnProperty("ForeningsID", (string)reader["PropertyNames"], (string)reader["PropertyValuesString"]); if (StrId != String.Empty && Convert.ToInt32(StrId) == id) { Person person = ConvertPerson(reader, association.Country); List<NRMembership> ms = association.Memberships.ToList(); var ExistUser = from UN in ms where UN.Person.UserName == person.UserName select UN; if (ExistUser.Any()) { char ch; for (int i = 0; i < 2; i++) { ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65))); person.UserName = person.UserName + ch.ToString(); } } UserNamedictionary.Add((String)reader["UserName"], person.UserName); NRMembership membership = new NRMembership(); if (ReturnProperty("Udmeldt", (string)reader["PropertyNames"], (string)reader["PropertyValuesString"]) == "True") membership.AbsentDate = DateTime.Now; membership.Teamleader = ReturnProperty("TurLeder", (string)reader["PropertyNames"], (string)reader["PropertyValuesString"]) == "True" ? true : false; membership.BoardFunction = BoardFunctionType.none; membership.SignupDate = DateTime.Now; membership.Type = PersonType.Active; membership.SignupDate = person.Created; membership.Person = person; //membership.Association = association; if (reader["Planner"] != null & !Convert.IsDBNull(reader["Planner"])) membership.Planner = true; //person.Memberships.Add(membership); association.Memberships.Add(membership); //person.CurrentAssociation = association.AssociationID; //association.People.Add(person); } } } } //Get locations association.Locations = new List<Location>(); using (SqlConnection cn = new SqlConnection(seedConnectionString)) { SqlCommand cmd = new SqlCommand("SELECT * FROM [Lokationer] WHERE ForeningsID = " + id.ToString(), cn); cmd.CommandType = CommandType.Text; cn.Open(); var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); while ((reader.Read())) { Location location = ConvertLocation(reader); if (!String.IsNullOrWhiteSpace(location.Name.Replace(".", ""))) { association.Locations.Add(location); Locationdictionary.Add((int)TjekDBNull(reader["LokID"]), location.ShortName); } } } if (!association.Locations.Any()) { Location location = new Location { Name = association.Name, ShortName = "STD", Description = "Standard lokationen for forningen" }; association.Locations.Add(location); } //Get Folders association.Folders = new List<Folder>(); using (SqlConnection cn = new SqlConnection(seedConnectionString)) { SqlCommand cmd = new SqlCommand("SELECT * FROM [TurMapper] WHERE ForeningsID = " + id.ToString(), cn); cmd.CommandType = CommandType.Text; cn.Open(); var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); while ((reader.Read())) { Folder folder = ConvertFolder(reader); folder.Start = folder.Start.Date; folder.Finish = folder.Finish.Date.AddDays(1).AddSeconds(-1); int TurmappeID = (int)TjekDBNull(reader["TurMappeID"]); folder.Teams = new List<Team>(); using (SqlConnection cn1 = new SqlConnection(seedConnectionString)) { SqlCommand cmd1 = new SqlCommand("SELECT * FROM [Turer] WHERE TurmappeID = " + TurmappeID.ToString(), cn1); cmd1.CommandType = CommandType.Text; cn1.Open(); var reader1 = cmd1.ExecuteReader(CommandBehavior.CloseConnection); while ((reader1.Read())) { Team team = new Team { Start = (DateTime)reader1["Start"], Note = (String)TjekDBNull(reader1["Note"]), Created = (DateTime)reader1["Oprettet"], Lastchanged = (DateTime)reader1["SidstRettet"], Association = association, Teammembers = new List<Person>() }; if (String.IsNullOrWhiteSpace(team.Note)) team.Note = null; string Dur = (String)reader1["Tid"]; TimeSpan DurT; if (TimeSpan.TryParse(Dur, out DurT)) { team.Duration = DurT; } switch ((String)reader1["Status"]) { case "OK": team.Status = TeamStatus.OK; break; case "Aflyst": team.Status = TeamStatus.Cancelled; break; case "Nedlagt": team.Status = TeamStatus.Droped; break; default: team.Status = TeamStatus.Planned; break; } //UserNamedictionary String UserName; if (UserNamedictionary.TryGetValue((String)reader1["TurlederID"], out UserName)) { Person TL = association.Memberships.Where(m => m.Person.UserName == UserName).Select(m => m.Person).FirstOrDefault(); team.Teammembers.Add(TL); team.TeamLeaderId = TL.PersonID; } if (UserNamedictionary.TryGetValue((String)reader1["Ravn1ID"], out UserName)) { team.Teammembers.Add(association.Memberships.Where(m => m.Person.UserName == UserName).Select(m => m.Person).FirstOrDefault()); } if (UserNamedictionary.TryGetValue((String)reader1["Ravn2ID"], out UserName)) { team.Teammembers.Add(association.Memberships.Where(m => m.Person.UserName == UserName).Select(m => m.Person).FirstOrDefault()); } else if ((String)reader1["Ravn2ID"] == "PRØVETUR") { team.Trial = true; } string Loc; if (Locationdictionary.Any() && TjekDBNull(reader1["Lokation"]) != null && Locationdictionary.TryGetValue((int)reader1["Lokation"], out Loc)) { team.Location = association.Locations.Where(l => l.ShortName == Loc).FirstOrDefault(); } else { team.Location = association.Locations.Where(l => l.ShortName == "STD").FirstOrDefault(); } folder.Teams.Add(team); } } association.Folders.Add(folder); } } return association; }
public static Location ConvertLocation(SqlDataReader reader) { Location location = new Location { Name = (String)reader["Navn"], ShortName = (String)reader["KortNavn"], Description = (String)TjekDBNull(reader["Beskrivelse"]), Created = (DateTime)reader["Oprettet"], Lastchanged = (DateTime)reader["SidstRettet"] }; if (location.Name.Length > 25) location.Name = location.Name.Substring(0, 25); return location.Trim(); }
public ActionResult LocationCreate() { Association association = reposetory.GetAssociation(CurrentProfile.AssociationID); if (association == null) return HttpNotFound(); Location location = new Location { association = association }; return View("LocationEdit", location); }