public AdministrationResponse getAdministrationInfo() { OADbContext ctx = new OADbContext(); var byer = ctx.by.ToList(); var pakkedimensioner = ctx.pakkeDimintioner; var result = new AdministrationResponse() { PakkeDimensioner = new List<PakkeDimensionDto>(), Lufthavne = new List<LufthavnDTO>() }; foreach (var pakkedimension in pakkedimensioner) { var dimension = new PakkeDimensionDto(); var pakkerpriser = pakkedimension.pakkePris.Select(x => new PakkePriserDto() { FromWeight = x.FromWeight, ToWeight = x.ToWeight, Price = x.Price, Id = x.Id }).ToList(); dimension.PakkePriser = pakkerpriser; dimension.DimensionNavn = pakkedimension.Name; result.PakkeDimensioner.Add(dimension); } result.Lufthavne = Mapper.Map<List<@by>, List<LufthavnDTO>>(byer); result.FragtTypeMultipliers = ctx.packetType.Select(x => new FragtTypeMultiplierDTO() { Multiplier = x.multiplier, Name = x.PacketType1 }).ToList(); ctx.Dispose(); return result; }
public void SaveAdministrationInfo([FromBody] AdministrationResponse administration) { OADbContext ctx = new OADbContext(); //pakkepriser foreach find id foreach (var pakkeDimension in administration.PakkeDimensioner) { foreach (var pakkePris in pakkeDimension.PakkePriser) { var dbPakkePris = ctx.pakkePris.FirstOrDefault(x => x.Id == pakkePris.Id); if (dbPakkePris != null) { dbPakkePris.Price = pakkePris.Price; ctx.pakkePris.AddOrUpdate(dbPakkePris); } } } ctx.SaveChanges(); //byer foreach id sæt aktiv/deaktiv foreach (var lufthavn in administration.Lufthavne) { var dbLufthavn = ctx.by.FirstOrDefault(x => x.Id == lufthavn.Id); if (dbLufthavn != null) { dbLufthavn.Active = lufthavn.IsActive; ctx.by.AddOrUpdate(dbLufthavn); } } ctx.SaveChanges(); //pakketyper where name == administration.pakketype foreach (var pakkeType in administration.FragtTypeMultipliers) { var dbPakkeType = ctx.packetType.FirstOrDefault(x => x.PacketType1 == pakkeType.Name); if (dbPakkeType != null) { dbPakkeType.multiplier = pakkeType.Multiplier; ctx.packetType.AddOrUpdate(); } } ctx.SaveChanges(); ctx.Dispose(); }
public RuteResponseDTO GetRoutes([FromBody] RuteRequest ruteRequest) { OADbContext ctx = new OADbContext(); var rute = new CalculationManager.Node(); var billigsteRute = new CalculationManager.Node(); var dimension = ctx.pakkeDimintioner.SingleOrDefault(x => x.Name == ruteRequest.DimensionsType); var fraBy = ctx.by.SingleOrDefault(x => x.Name == ruteRequest.FraBy); var tilBy = ctx.by.SingleOrDefault(x => x.Name == ruteRequest.TilBy); long hurtigsteRuteId = 0; long billigsteRuteId = 0; List<long> Id = new List<long>(); if (ruteRequest.FragtTyper.Length > 0) { Id.AddRange(ruteRequest.FragtTyper.Select(typer => Convert.ToInt64(typer))); } else { Id.Add(Int32.MaxValue); } if (fraBy != null && tilBy != null) { var routeManager = ManagerFactory.GetRouteManager(); var routeManagerResult = routeManager.CalculateRouteTime(fraBy, tilBy, dimension.Height, dimension.Depth, dimension.Width, ruteRequest.Vaegt, Id); rute = routeManagerResult.Item1; hurtigsteRuteId = routeManagerResult.Item2; var billigsteRouteManagerResult = routeManager.CalculateRouteWeight(fraBy, tilBy, dimension.Height, dimension.Depth, dimension.Width, ruteRequest.Vaegt, Id); billigsteRute = billigsteRouteManagerResult.Item1; billigsteRuteId = billigsteRouteManagerResult.Item2; } ctx.Dispose(); //map rute til ruteresponsedto var billigsteRuteDto = Mapper.Map<RuteDTO>(billigsteRute); var ruteDto = Mapper.Map<RuteDTO>(rute); foreach (var ruteTrin in ruteDto.RuteTrin) { ruteDto.TotalTid += ruteTrin.Tid; ruteDto.TotalPris += ruteTrin.Pris; ruteDto.RuteType = "Hurtigste Rute"; ruteDto.RuteId = hurtigsteRuteId; } foreach (var ruteTrin in billigsteRuteDto.RuteTrin) { billigsteRuteDto.TotalTid += ruteTrin.Tid; billigsteRuteDto.TotalPris += ruteTrin.Pris; billigsteRuteDto.RuteType = "Billigste Rute"; billigsteRuteDto.RuteId = billigsteRuteId; } RuteResponseDTO result = new RuteResponseDTO() { Ruter = new List<RuteDTO>() { ruteDto, billigsteRuteDto }, RuteRequest = ruteRequest }; return result; }
public UserLoginResponse Login([FromBody] UserLoginDTO bruger) { OADbContext ctx = new OADbContext(); var user = ctx.users.SingleOrDefault(x => x.BrugerNavn == bruger.Username && x.password == bruger.Password); if (user != null) { UserLoginResponse loginSuccess = new UserLoginResponse() { IsAdmin = user.IsAdmin, Result = true }; return loginSuccess; } UserLoginResponse loginFailed = new UserLoginResponse() { Result = false, IsAdmin = false }; ctx.Dispose(); return loginFailed; }