public async Task <int> AddVesselAsync(Vessel vessel) { var entity = VesselEntity.CreateFromVessel(vessel); this.context.Vessels.Add(entity); await this.context.SaveChangesAsync(); // business object needs to be updated with proper database id, as we're using different BO and DB classes and instances. vessel.Id = entity.Id; return(vessel.Id); }
public async Task <Vessel> DeleteAsync(IVesselIdentity vesselId) { VesselEntity removing = await Get(vesselId); if (removing == null) { throw new Exception("This vessel doesn't exist!"); } VesselEntity entity = Context.Vessel.Remove(removing).Entity; await Context.SaveChangesAsync(); return(Mapper.Map <Vessel>(entity)); }
public async Task <Vessel> UpdateAsync(VesselModel vessel) { VesselEntity entity = await Get(vessel); if (entity == null) { throw new Exception("This vessel doesn't exist!"); } await ValidateBody(vessel); entity.Affiliation = vessel.Affiliation; entity.BodyName = vessel.BodyName; entity.DV = vessel.DV; entity.FlightState = vessel.FlightState; Context.Update(entity); await Context.SaveChangesAsync(); return(Mapper.Map <Vessel>(entity)); }