public async Task <IActionResult> Edit(int id, [Bind("Id,CityId,Code,Name,Status,Created,CreatedBy,Updated,UpdatedBy")] Borough borough) { if (id != borough.Id) { return(NotFound()); } if (ModelState.IsValid) { try { borough.Updated = DateTime.Now; borough.UpdatedBy = User.Identity.Name; _context.Update(borough); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BoroughExists(borough.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["CityId"] = new SelectList(_context.Cities, "Id", "Name", borough.CityId); ViewData["Status"] = new SelectList(Utils.Extensions.GetRecordStatusList(), "Value", "Text", borough.Status); return(View(borough)); }
public ActionResult DeleteConfirmed(string id) { Borough borough = db.Boroughs.Find(id); db.Boroughs.Remove(borough); db.SaveChanges(); return(RedirectToAction("Index")); }
// GET: Boroughs/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Borough borough = db.Boroughs.Find(id); if (borough == null) { return(HttpNotFound()); } return(View(borough)); }
public ActionResult Create([Bind(Include = "ID,BoroughName,LongName,ShortName")] Borough borough) { if (ModelState.IsValid) { Person userperson = db.People.SingleOrDefault(p => p.ID == 0); borough.Creator = userperson; borough.Created = DateTime.Now; borough.Modifier = userperson; borough.Modified = DateTime.Now; db.Boroughs.Add(borough); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(borough)); }
public bool CreateBorough(BoroughCreate model) { var entity = new Borough() { CreatorId = _userId, Name = model.Name, Direction = model.Direction }; using (var ctx = new ApplicationDbContext()) { ctx.Boroughs.Add(entity); return(ctx.SaveChanges() == 1); } }
public async Task <IActionResult> Create([Bind("Id,CityId,Code,Name,Status,Created,CreatedBy,Updated,UpdatedBy")] Borough borough) { if (ModelState.IsValid) { borough.Created = DateTime.Now; borough.Updated = DateTime.Now; borough.CreatedBy = User.Identity.Name; borough.UpdatedBy = User.Identity.Name; _context.Add(borough); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["CityId"] = new SelectList(_context.Cities, "Id", "Name", borough.CityId); ViewData["Status"] = new SelectList(Utils.Extensions.GetRecordStatusList(), "Value", "Text", borough.Status); return(View(borough)); }
public ActionResult Edit([Bind(Include = "ID,BoroughName,LongName,ShortName")] Borough borough) { if (ModelState.IsValid) { Borough boroughInDB = db.Boroughs.Single(b => b.ID == borough.ID); boroughInDB.BoroughName = borough.BoroughName; boroughInDB.LongName = borough.LongName; boroughInDB.ShortName = borough.ShortName; Person userperson = db.People.SingleOrDefault(p => p.ID == 0); boroughInDB.Modifier = userperson; boroughInDB.Modified = DateTime.Now; //db.Entry(borough).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(borough)); }
public ITripMetrics GetMetrics(DrivingService drivingService, Borough startBorough, Borough stopBorough, TimeSpan tripPickupTime) { // decide which provider to use ITripMetricsProvider tmp; if (drivingService == DrivingService.GreenTaxi) { tmp = new GreenTaxiTripMetricsProvider(_configuration, _drivingServiceDataProvider); } else { throw new NotSupportedException($"Trip Provider '{drivingService}' is not yet supported."); } // get metrics from the provider var tripMetrics = tmp.GetMetrics(startBorough, stopBorough, tripPickupTime); // return the metrics to the caller return(tripMetrics); }
public ActionResult <ITripMetrics> Get(DrivingService drivingService, Borough startBorough, Borough stopBorough, string tripPickupTime) { if (TimeSpan.TryParse(tripPickupTime, out TimeSpan ts) == false) { return(BadRequest("tripPickupTime is not a valid time.")); } if (ts.TotalHours >= 24) { return(BadRequest("tripPickupTime must be a time of day and so must be between 00:00 and 23:59.")); } var metrics = _tripMetricsManager.GetMetrics(drivingService, startBorough, stopBorough, ts); if (metrics == null) { return(NoContent()); } return(Ok(metrics)); }
public ITripMetrics GetMetrics(Borough startBorough, Borough stopBorough, TimeSpan tripPickupTime) { var windowMinutes = int.Parse(_configuration["StartTimeWindowMinutes"]); TimeSpan startTime = tripPickupTime - new TimeSpan(0, windowMinutes, 0); TimeSpan stopTime = tripPickupTime + new TimeSpan(0, windowMinutes, 0); // find the historical trips relevant to this request var relevantTrips = _trips.Where(t => t.StartBorough == startBorough && t.StopBorough == stopBorough && (t.PickupDateTime.TimeOfDay >= startTime && t.PickupDateTime.TimeOfDay <= stopTime) ); // if no trips were relevant, we can't return any metrics if (!relevantTrips.Any()) { return(null); } // otherwise let's compute some metrics! var metrics = new GreenTaxiTripMetrics(); metrics.TripCount = relevantTrips.Count(); metrics.StartBorough = startBorough; metrics.StopBorough = stopBorough; metrics.TripTime = tripPickupTime; metrics.AverageTripDuration = TimeSpan.FromSeconds((relevantTrips.Average(t => (t.DropoffDateTime - t.PickupDateTime).TotalSeconds))); metrics.AveragePassengerCount = Convert.ToDecimal(relevantTrips.Average(t => t.PassengerCount)); metrics.MaximumPassengerCount = relevantTrips.Max(t => t.PassengerCount); metrics.AverageTripDistance = Convert.ToDecimal(relevantTrips.Average(t => t.TripDistance)); metrics.MaximumTripDistance = Convert.ToDecimal(relevantTrips.Max(t => t.TripDistance)); metrics.AverageTotalAmount = Convert.ToDecimal(relevantTrips.Average(t => t.TotalAmount)); metrics.MaximumTotalAmount = Convert.ToDecimal(relevantTrips.Max(t => t.TotalAmount)); // return the completed metrics return(metrics); }
public static List<IEntity> GetMicrodistricts(Borough b) { return Instance._regionsModel.GetMicrodistricts(b); }
public List<IEntity> GetMicrodistricts(Borough borough) { List<IEntity> res = new List<IEntity>(); List<IEntity> temp = GetReferencedEntities("Microdistricts", "BoroughID", borough.ID); foreach (SimpleEntity se in temp) { res.Add(new Microdistrict(se.Name) { ID = se.ID }); } return res; }
public BoroughSelector(Borough b) { this.Boro = b; this.Selected = false; }
public ActionResult Save(PersonFormViewModel viewModel) { if (!ModelState.IsValid) { ViewBag.TitleID = new SelectList(_context.Titles, "ID", "TitleValue"); ViewBag.FinanceCode = new SelectList(_context.CostCentres, "Code", "CCName"); ViewBag.SubjectiveID = new SelectList(_context.Subjectives, "Code", "Subname"); ViewBag.CohortID = new SelectList(_context.Cohorts.OrderBy(c => c.Number), "ID", "CohortDescription"); ViewBag.LineManID = new SelectList(_context.People.Where(p => p.Flags.Select(f => f.ID).Contains("LMR")), "ID", "FullName"); List <int> teams = _context.People.SingleOrDefault(p => p.ID == viewModel.ID).MemberOf.Select(m => m.TeamID).ToList(); ViewBag.TeamList = _context.Teams.Where(p => !teams.Contains(p.ID)).OrderBy(t => t.TeamName); List <int> servs = _context.People.SingleOrDefault(p => p.ID == viewModel.ID).Services.Select(s => s.ID).ToList(); ViewBag.ServiceList = _context.Services.Where(s => !servs.Contains(s.ID) && s.Level == ServiceLevel.Speciality && s.Display).OrderBy(s => s.ServiceName); return(View("PersonForm", viewModel)); } Person userperson = _context.People.SingleOrDefault(p => p.ID == 0); if (viewModel.ID == 0) { Person person = new Person(); person.TitleID = viewModel.TitleID; person.Forename = viewModel.Forename; person.MiddleName = viewModel.MiddleName; person.Surname = viewModel.Surname; person.PreferredName = viewModel.PreferredName; person.Gender = viewModel.Gender; person.JobTitle = viewModel.JobTitle; person.FinanceCode = viewModel.FinanceCode; person.SubjectiveID = viewModel.SubjectiveID; person.Phone = viewModel.Phone; person.Email = viewModel.Email; person.Comments = viewModel.Comments; person.CohortID = viewModel.CohortID; foreach (var fs in viewModel.Flags.Where(f => f.Selected)) { person.Flags.Add(_context.Flags.Single(f => f.ID == fs.Flag.ID)); } foreach (var bs in viewModel.Boroughs.Where(b => b.Selected)) { person.Boroughs.Add(_context.Boroughs.Single(b => b.ID == bs.Boro.ID)); } foreach (var mhc in viewModel.MHCs.Where(m => m.Selected)) { person.Services.Add(_context.Services.Single(s => s.ID == mhc.Service.ID)); } if (person.TitleID != 0 && person.Gender == null) { person.Gender = _context.Titles.SingleOrDefault(t => t.ID == person.TitleID).DefaultGender; } person.Created = DateTime.Now; person.Creator = userperson; person.Modified = DateTime.Now; person.Modifier = userperson; _context.People.Add(person); } else { var personInDb = _context.People.Single(p => p.ID == viewModel.ID); personInDb.TitleID = viewModel.TitleID; personInDb.Forename = viewModel.Forename; personInDb.MiddleName = viewModel.MiddleName; personInDb.Surname = viewModel.Surname; personInDb.PreferredName = viewModel.PreferredName; personInDb.Gender = viewModel.Gender; personInDb.JobTitle = viewModel.JobTitle; personInDb.FinanceCode = viewModel.FinanceCode; personInDb.SubjectiveID = viewModel.SubjectiveID; personInDb.Phone = viewModel.Phone; personInDb.Email = viewModel.Email; personInDb.Comments = viewModel.Comments; personInDb.CohortID = viewModel.CohortID; foreach (var fs in viewModel.Flags) { Flag flg = _context.Flags.Single(f => f.ID == fs.Flag.ID); if (fs.Selected) { if (!personInDb.Flags.Contains(flg)) { personInDb.Flags.Add(flg); } } else { if (personInDb.Flags.Contains(flg)) { personInDb.Flags.Remove(flg); } } } foreach (var bs in viewModel.Boroughs) { Borough bo = _context.Boroughs.Single(b => b.ID == bs.Boro.ID); if (bs.Selected) { if (!personInDb.Boroughs.Contains(bo)) { personInDb.Boroughs.Add(bo); } } else { if (personInDb.Boroughs.Contains(bo)) { personInDb.Boroughs.Remove(bo); } } } foreach (var mhc in viewModel.MHCs) { Service s = _context.Services.Single(serv => serv.ID == mhc.Service.ID); if (mhc.Selected) { if (!personInDb.Services.Contains(s)) { personInDb.Services.Add(s); } } else { if (personInDb.Services.Contains(s)) { personInDb.Services.Remove(s); } } } foreach (var mem in viewModel.Memberships) { var memberInDB = _context.TeamMembers.Single(m => m.ID == mem.ID); bool changed = false; if (memberInDB.Active != mem.Active) { memberInDB.Active = mem.Active; changed = true; } if (memberInDB.Main != mem.Main) { //if set to main all other records for this person shouldn't be! if (mem.Main) { var staffID = memberInDB.StaffID; var otherRecords = _context.People.Single(p => p.ID == staffID).MemberOf.Where(m => m.ID != mem.ID); foreach (var otherRecord in otherRecords) { if (otherRecord.Main) { otherRecord.Main = false; otherRecord.Modified = DateTime.Now; otherRecord.Modifier = userperson; } } } memberInDB.Main = mem.Main; changed = true; } if (changed) { memberInDB.Modified = DateTime.Now; memberInDB.Modifier = userperson; } } personInDb.Modified = DateTime.Now; personInDb.Modifier = userperson; } _context.SaveChanges(); return(RedirectToAction("Index", "Person")); }
public static void Initialize(ApplicationContext context) { context.Database.EnsureCreated(); // Look for any roles. /*if (context.Roles.Any()) * { * return; // DB has been seeded * }*/ if (!context.Roles.Any()) { var roles = new Role[] { new Role { Name = "Administrator", Description = "Administrator role", Status = "Active", Created = DateTime.Now, CreatedBy = "Admin", Updated = DateTime.Now, UpdatedBy = "Admin" }, new Role { Name = "Contributor", Description = "Contributer role", Status = "Active", Created = DateTime.Now, CreatedBy = "Admin", Updated = DateTime.Now, UpdatedBy = "Admin" } }; foreach (Role r in roles) { context.Roles.Add(r); } context.SaveChanges(); } if (!context.AuthenticationSchemes.Any()) { var schemes = new AuthenticationScheme[] { new AuthenticationScheme { Name = "Standard authentication scheme", Status = "Active", Created = DateTime.Now, CreatedBy = "Admin", Updated = DateTime.Now, UpdatedBy = "Admin" }, }; foreach (AuthenticationScheme r in schemes) { context.AuthenticationSchemes.Add(r); } context.SaveChanges(); } if (!context.Countries.Any()) { var countries = new Country[] { new Country { Code = "hr", Name = "Croatia", Language = "hr", Status = "Active", Created = DateTime.Now, CreatedBy = "Admin", Updated = DateTime.Now, UpdatedBy = "Admin" } }; foreach (Country c in countries) { context.Countries.Add(c); } context.SaveChanges(); } if (!context.Cities.Any()) { var cities = new City[] { new City { Code = "ZG", Name = "Zagreb", Status = "Active", Created = DateTime.Now, CreatedBy = "Admin", Updated = DateTime.Now, UpdatedBy = "Admin", CountryId = 1 } }; foreach (City c in cities) { context.Cities.Add(c); } context.SaveChanges(); } if (!context.Boroughs.Any()) { var boroughs = new Borough[] { new Borough { Code = "ZGGD", Name = "Gornja Dubrava", Status = "Active", Created = DateTime.Now, CreatedBy = "Admin", Updated = DateTime.Now, UpdatedBy = "Admin", CityId = 1 } }; foreach (Borough c in boroughs) { context.Boroughs.Add(c); } context.SaveChanges(); } if (!context.Users.Any()) { var users = new User[] { new User { Username = "******", Password = "******", FirstName = "Admin", LastName = "User", Email = "*****@*****.**", Lat = "45.828148899999995", Lng = "16.0746871", Status = "Active", Created = DateTime.Now, CreatedBy = "Admin", Updated = DateTime.Now, UpdatedBy = "Admin", CountryId = 1, AuthenticationSchemeId = 1 } }; foreach (User u in users) { context.Users.Add(u); } context.SaveChanges(); } if (!context.UserRoles.Any()) { var userRoles = new UserRole[] { new UserRole { UserId = 1, RoleId = 1, Status = "Active", Created = DateTime.Now, CreatedBy = "Admin", Updated = DateTime.Now, UpdatedBy = "Admin" } }; foreach (UserRole u in userRoles) { context.UserRoles.Add(u); } context.SaveChanges(); } }
public ActionResult Edit(TeamFormViewModel team) { if (ModelState.IsValid) { Team teamInDB = db.Teams.Include(t => t.Boroughs).Single(t => t.ID == team.ID); teamInDB.TeamName = team.TeamName; teamInDB.FinanceCode = team.FinanceCode; teamInDB.LeaderID = team.LeaderID; teamInDB.CohortID = team.CohortID; teamInDB.NoTrain = team.NoTrain; Person userperson = db.People.SingleOrDefault(p => p.ID == 0); teamInDB.Modifier = userperson; teamInDB.Modified = DateTime.Now; // db.Entry(team).State = EntityState.Modified; foreach (var bs in team.Boroughs) { Borough bo = db.Boroughs.Single(b => b.ID == bs.Boro.ID); if (bs.Selected) { if (!teamInDB.Boroughs.Contains(bo)) { teamInDB.Boroughs.Add(bo); } } else { if (teamInDB.Boroughs.Contains(bo)) { teamInDB.Boroughs.Remove(bo); } } } foreach (var mhc in team.MHCs) { Service s = db.Services.Single(serv => serv.ID == mhc.Service.ID); if (mhc.Selected) { if (!teamInDB.Services.Contains(s)) { teamInDB.Services.Add(s); } } else { if (teamInDB.Services.Contains(s)) { teamInDB.Services.Remove(s); } } } foreach (var mem in team.Members) { var memberInDB = db.TeamMembers.Single(m => m.ID == mem.ID); bool changed = false; if (memberInDB.Active != mem.Active) { memberInDB.Active = mem.Active; changed = true; } if (memberInDB.Main != mem.Main) { //if set to main all other records for this person shouldn't be! if (mem.Main) { var staffID = memberInDB.StaffID; var otherRecords = db.People.Single(p => p.ID == staffID).MemberOf.Where(m => m.ID != mem.ID); foreach (var otherRecord in otherRecords) { if (otherRecord.Main) { otherRecord.Main = false; otherRecord.Modified = DateTime.Now; otherRecord.Modifier = userperson; } } } memberInDB.Main = mem.Main; changed = true; } if (changed) { memberInDB.Modified = DateTime.Now; memberInDB.Modifier = userperson; } } db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CohortID = new SelectList(db.Cohorts, "ID", "Code", team.CohortID); ViewBag.FinanceCode = new SelectList(db.CostCentres, "Code", "CCName", team.FinanceCode); ViewBag.LeaderID = new SelectList(db.People, "ID", "Fullname", team.LeaderID); List <int> members = team.Members.Select(m => m.StaffID).ToList(); ViewBag.StaffList = db.People.Where(p => !members.Contains(p.ID)).Where(p => p.ID > 0); List <int> servs = team.Services.Select(s => s.ID).ToList(); ViewBag.ServiceList = db.Services.Where(s => !servs.Contains(s.ID) && s.Level == ServiceLevel.Speciality && s.Display).OrderBy(s => s.ServiceName); return(View(team)); }