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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }