Exemplo n.º 1
0
 /// <summary>
 /// Map a Entity Car from a Model Car
 /// </summary>
 /// <param name="car">A Car Model</param>
 /// <returns>A Car Entity</returns>
 public Entities.Car MapCar(Lib.Models.Car car)
 {
     return(new Entities.Car
     {
         Id = car.Id,
         LicensePlate = car.LicensePlate,
         Make = car.Make,
         Model = car.Model,
         Color = car.Color,
         Year = car.Year,
         State = car.State
     });
 }
Exemplo n.º 2
0
        public void LibCarToDbCarTest()
        {
            var car = new Lib.Models.Car
            {
                Id           = 1,
                Make         = "Toyota",
                Model        = "Corrolla",
                Year         = "1992",
                Color        = "Green",
                LicensePlate = "ABC123",
                State        = "TX"
            };

            var cars = mapper.MapCar(car);

            Assert.Equal(car.Id, cars.Id);
            Assert.Equal(car.LicensePlate, cars.LicensePlate);
            Assert.Equal(car.Make, cars.Make);
            Assert.Equal(car.Model, cars.Model);
            Assert.Equal(car.Year, cars.Year);
            Assert.Equal(car.Color, cars.Color);
            Assert.Equal(car.State, cars.State);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Map a Model Tenant from a Entity Tenant
        /// </summary>
        /// <param name="tenant">A Tenant Entity who may have a nested Car Model and/or a Batch Model</param>
        /// <returns>A Tenant Model who may have a nested Car Model and/or a Batch Model</returns>
        public Lib.Models.Tenant MapTenant(Entities.Tenant tenant)
        {
            Lib.Models.Batch batch;
            int?batchId;

            if (tenant.Batch != null)
            {
                batch = new Lib.Models.Batch
                {
                    Id = tenant.Batch.Id,
                    BatchCurriculum = tenant.Batch.BatchCurriculum,
                    TrainingCenter  = tenant.Batch.TrainingCenter
                };
                batch.SetStartAndEndDate(tenant.Batch.StartDate, tenant.Batch.EndDate);
                batchId = tenant.BatchId;
            }
            else
            {
                batch   = null;
                batchId = null;
            }

            Lib.Models.Car car;
            int?           carId;

            if (tenant.Car != null)
            {
                car = new Lib.Models.Car()
                {
                    Id           = tenant.Car.Id,
                    LicensePlate = tenant.Car.LicensePlate,
                    Make         = tenant.Car.Make,
                    Model        = tenant.Car.Model,
                    Color        = tenant.Car.Color,
                    Year         = tenant.Car.Year,
                    State        = tenant.Car.State
                };
                carId = tenant.CarId;
            }
            else
            {
                car   = null;
                carId = null;
            }

            return(new Lib.Models.Tenant
            {
                Id = tenant.Id,
                Email = tenant.Email,
                Gender = tenant.Gender,
                FirstName = tenant.FirstName,
                LastName = tenant.LastName,
                AddressId = tenant.AddressId,
                RoomId = tenant.RoomId,
                CarId = carId,
                BatchId = batchId,
                TrainingCenter = tenant.TrainingCenter,

                Car = car,
                Batch = batch
            });
        }
Exemplo n.º 4
0
        public async Task <ActionResult <IEnumerable <ApiTenant> > > GetAllAsync([FromQuery] string firstName = null, [FromQuery] string lastName = null, [FromQuery] string gender = null, [FromQuery] string trainingCenter = null)
        {
            //Parse training center string to guid if it exists
            Guid?trainingCenterGuid;

            if (trainingCenter != null)
            {
                trainingCenterGuid = Guid.Parse(trainingCenter);
            }
            else
            {
                trainingCenterGuid = null;
            }

            //Call repository GetAllAsync
            _logger.LogInformation("GET - Getting tenants");
            var tenants = await _tenantRepository.GetAllAsync(firstName, lastName, gender, trainingCenterGuid);

            //Maps batches and cars correctly, based on null or not null
            var newTenants = new List <Lib.Models.Tenant>();

            foreach (var tenant in tenants)
            {
                Lib.Models.Batch batch;
                int?batchId;
                if (tenant.Batch != null)
                {
                    batch = new Lib.Models.Batch
                    {
                        Id = tenant.Batch.Id,
                        BatchCurriculum = tenant.Batch.BatchCurriculum,
                        TrainingCenter  = tenant.Batch.TrainingCenter
                    };
                    batch.SetStartAndEndDate(tenant.Batch.StartDate, tenant.Batch.EndDate);
                    batchId = tenant.BatchId;
                }
                else
                {
                    batch   = null;
                    batchId = null;
                }
                tenant.Batch   = batch;
                tenant.BatchId = batchId;
                Lib.Models.Car car;
                int?           carId;
                if (tenant.Car != null)
                {
                    car = new Lib.Models.Car()
                    {
                        Id           = tenant.Car.Id,
                        LicensePlate = tenant.Car.LicensePlate,
                        Make         = tenant.Car.Make,
                        Model        = tenant.Car.Model,
                        Color        = tenant.Car.Color,
                        Year         = tenant.Car.Year,
                        State        = tenant.Car.State
                    };
                    carId        = tenant.CarId;
                    tenant.CarId = carId;
                }
                else
                {
                    car = null;
                }
                tenant.Car = car;

                newTenants.Add(tenant);
            }

            //Cast all Logic Tenants into ApiTenants
            var apiTenants = new List <ApiTenant>();

            foreach (var apiTenant in newTenants)
            {
                var newApiTenant = new ApiTenant
                {
                    Id             = apiTenant.Id,
                    Email          = apiTenant.Email,
                    Gender         = apiTenant.Gender,
                    FirstName      = apiTenant.FirstName,
                    LastName       = apiTenant.LastName,
                    AddressId      = apiTenant.AddressId,
                    RoomId         = apiTenant.RoomId,
                    CarId          = apiTenant.CarId,
                    BatchId        = apiTenant.BatchId,
                    TrainingCenter = apiTenant.TrainingCenter
                };
                apiTenants.Add(newApiTenant);
            }
            //Return OK with a list of tenants
            return(Ok(apiTenants));
        }