Esempio n. 1
0
        public async Task Update(ModeloAeronave entity)
        {
            if (string.IsNullOrEmpty(entity?.Code?.Trim()) || entity.Code.Length == 0)
            {
                throw new Exception("Informe o CODE.");
            }
            else if (entity.Code.Length > 4)
            {
                throw new Exception("Informe um CODE com no máximo 4 caracteres.");
            }
            else if (string.IsNullOrEmpty(entity?.AlternativeCode?.Trim()) || entity.AlternativeCode.Length == 0)
            {
                throw new Exception("Informe o ALTERNATIVE_CODE.");
            }
            else if (!string.IsNullOrEmpty(entity?.AlternativeCode?.Trim()) && entity.AlternativeCode.Length > 4)
            {
                throw new Exception("Informe um ALTERNATIVE_CODE com no máximo 4 caracteres.");
            }
            else if (entity.MaxDepartureWeight < 0)
            {
                throw new Exception("Informe um MAX_DEPARTURE_WEIGHT maior que zero.");
            }
            else if (entity.MaxLandingWeight < 0)
            {
                throw new Exception("Informe um MAX_LANDING_WEIGHT maior que zero.");
            }

            await _modeloAeronaveService.Update(entity);
        }
Esempio n. 2
0
        public async Task <IEnumerable <ModeloAeronave> > Get(ModeloAeronave entity, int page = 0)
        {
            if (string.IsNullOrEmpty(entity?.Code?.Trim()) && string.IsNullOrEmpty(entity?.AlternativeCode?.Trim()))
            {
                throw new Exception("Informe o CODE ou o ALTERNATIVE_CODE.");
            }
            else if (entity?.Code?.Length > 4)
            {
                throw new Exception("Informe um CODE com no máximo 4 caracteres.");
            }
            else if (entity?.AlternativeCode?.Length > 4)
            {
                throw new Exception("Informe um ALTERNATIVE_CODE com no máximo 4 caracteres.");
            }

            return(await _modeloAeronaveService.Get(entity, page));
        }
Esempio n. 3
0
        public async Task <IActionResult> Update([FromBody] ModeloAeronave modeloAeronave)
        {
            try
            {
                await _modeloAeronaveAppService.Update(modeloAeronave);

                return(Ok());
            }
            catch (Exception ex)
            {
#if DEBUG
                return(BadRequest(ex.InnerException?.Message ?? ex.Message));
#else
                return BadRequest("Não foi possível atualizar o modelo de aeronave.")
#endif
            }
        }
Esempio n. 4
0
        public async Task Delete(ModeloAeronave entity)
        {
            if (string.IsNullOrEmpty(entity?.Code?.Trim()) && string.IsNullOrEmpty(entity?.AlternativeCode?.Trim()))
            {
                throw new Exception("Informe o CODE ou o ALTERNATIVE_CODE.");
            }
            else if (entity?.Code?.Length > 4)
            {
                throw new Exception("Informe um CODE com no máximo 4 caracteres.");
            }
            else if (entity?.AlternativeCode?.Length > 4)
            {
                throw new Exception("Informe um ALTERNATIVE_CODE com no máximo 4 caracteres.");
            }

            await _modeloAeronaveService.Delete(entity);
        }
Esempio n. 5
0
        public async Task <IActionResult> Add([FromBody] ModeloAeronave modeloAeronave)
        {
            try
            {
                var aeronaves = await _modeloAeronaveAppService.Add(modeloAeronave);

                return(Ok(aeronaves));
            }
            catch (Exception ex)
            {
#if DEBUG
                return(BadRequest(ex.InnerException?.Message ?? ex.Message));
#else
                return BadRequest("Não foi possível adicionar o modelos de aeronave.")
#endif
            }
        }
Esempio n. 6
0
 public async Task Update(ModeloAeronave entity)
 {
     await _modeloAeronaveSqlServerRepository.Update(entity);
 }
Esempio n. 7
0
 public async Task <IEnumerable <ModeloAeronave> > Get(ModeloAeronave entity, int page = 0)
 {
     return(await _modeloAeronaveSqlServerRepository.Get(entity, page));
 }
Esempio n. 8
0
        public async Task <ModeloAeronave> Add(ModeloAeronave entity)
        {
            await _modeloAeronaveSqlServerRepository.Add(entity);

            return(entity);
        }
        public async Task <(List <Aeronave> aircrafts, List <ModeloAeronave> aircraftsModels)> Convert(Stream stream)
        {
            using (var reader = new StreamReader(stream))
            {
                var headers          = new Dictionary <string, int>();
                var aeronaves        = new List <Aeronave>();
                var modelosAeronaves = new List <ModeloAeronave>();
                var findCode         = new Dictionary <string, bool>();

                while (!reader.EndOfStream)
                {
                    var line = await reader.ReadLineAsync();

                    if (headers.Count == 0)
                    {
                        var keys = line.Split('\t');

                        for (int i = 0; i < keys.Length; i++)
                        {
                            headers.Add(keys[i], i);
                        }

                        continue;
                    }

                    var aircraftData = line.Split('\t');

                    var aeronave = new Aeronave();
                    int indexOf;

                    if (headers.TryGetValue("PREFIX_AIRCRAFT", out indexOf))
                    {
                        aeronave.Prefix = aircraftData[indexOf];
                    }

                    if (headers.TryGetValue("MAX_DEPARTURE_WEIGHT_AIRCRAFT", out indexOf))
                    {
                        aeronave.MaxDepartureWeight = System.Convert.ToDecimal(aircraftData[indexOf]);
                    }

                    if (headers.TryGetValue("MAX_LANDING_WEIGHT_AIRCRAFT", out indexOf))
                    {
                        aeronave.MaxLandingWeight = System.Convert.ToDecimal(aircraftData[indexOf]);
                    }

                    if (headers.TryGetValue("ACTIVE_AIRCRAFT", out indexOf))
                    {
                        var active = System.Convert.ToInt32(aircraftData[indexOf]);

                        aeronave.Active = System.Convert.ToBoolean(active);
                    }

                    if (headers.TryGetValue("CODE_AIRCRAFT_MODEL", out indexOf))
                    {
                        aeronave.AircraftModel = aircraftData[indexOf];
                    }

                    aeronaves.Add(aeronave);

                    var modeloAeronave = new ModeloAeronave();

                    if (headers.TryGetValue("CODE_AIRCRAFT_MODEL", out indexOf))
                    {
                        modeloAeronave.Code = aircraftData[indexOf];

                        var exists = false;

                        if (findCode.TryGetValue(modeloAeronave.Code, out exists))
                        {
                            continue;
                        }

                        findCode.Add(modeloAeronave.Code, true);
                    }

                    if (headers.TryGetValue("ALTERNATIVE_AIRCRAFT_MODEL", out indexOf))
                    {
                        modeloAeronave.AlternativeCode = aircraftData[indexOf];
                    }

                    if (headers.TryGetValue("MAX_DEPARTURE_WEIGHT_AIRCRAFT_MODEL", out indexOf))
                    {
                        modeloAeronave.MaxDepartureWeight = System.Convert.ToDecimal(aircraftData[indexOf]);
                    }

                    if (headers.TryGetValue("MAX_LANDING_WEIGHT_AIRCRAFT_MODEL", out indexOf))
                    {
                        modeloAeronave.MaxLandingWeight = System.Convert.ToDecimal(aircraftData[indexOf]);
                    }

                    modelosAeronaves.Add(modeloAeronave);
                }

                return(aircrafts : aeronaves, aircraftsModels : modelosAeronaves);
            }
        }