Beispiel #1
0
        public OffloadDto GetSingleOffload(string offloadId)
        {
            var result = getOffload(offloadId);

            result.Wait();
            var entity = result.Result;

            if (entity == null)
            {
                return(null);
            }

            var dto = new OffloadDto
            {
                Id          = entity.Id,
                Town        = entity.Town,
                State       = entity.State,
                LandingDate = entity.LandingDate,
                TotalWeight = entity.TotalWeight,
                Fish        = entity.Fish,
                Boat        = entity.Boat,
                MapData     = entity.MapData
            };

            return(dto);
        }
Beispiel #2
0
        public List <OffloadDto> GetLastOffloadsFromBoat(string BoatRadioSignalId, int count)
        {
            var result = getOffloads(BoatRadioSignalId, count);

            result.Wait();
            var entity = result.Result;

            if (entity == null)
            {
                return(null);
            }
            var dto = new List <OffloadDto>();

            if (count > entity.Count)
            {
                count = entity.Count;
            }
            for (int i = 0; i < count; i++)
            {
                var item = new OffloadDto
                {
                    Id          = entity[i].Id,
                    Town        = entity[i].Town,
                    State       = entity[i].State,
                    LandingDate = entity[i].LandingDate,
                    TotalWeight = entity[i].TotalWeight,
                    Fish        = entity[i].Fish,
                    Boat        = new BoatSimpleDto
                    {
                        Name            = "Bátur",
                        Registration_id = "blabla",
                        RadioSignalId   = "LLIQ",
                        FishingGear     = "búbu"
                    }
                };
                dto.Add(item);
            }
            return(dto);
        }
        public OffloadDto GetSingleOffload(string offloadId)
        {
            var offload = new OffloadDto();
            var cmd     = _connection.CreateCommand();

            _connection.Open();
            cmd.CommandTimeout = 90;

            cmd.CommandText = string.Format(
                @"SELECT 
                    `Dokumentnummer`,
                    `Dokument versjonsnummer`,
                    `Dokument salgsdato`,
                    `Landingskommune`,
                    `Landingsfylke`,
                    `Registreringsmerke (seddel)`,
                    `Fartøynavn`,
                    `Lon (lokasjon)`,
                    `Lat (lokasjon)`,
                    `Landingsdato`,
                    `Landingsklokkeslett`,
                    `Landingsmåned (kode)`,
                    `Lengdegruppe`,
                    `Radiokallesignal (seddel)`,
                    `Art`,
                    `Art - gruppe`,
                    `Art - hovedgruppe`,
                    `Anvendelse`,
                    `Anvendelse hovedgruppe`,
                    `Produkttilstand`,
                    `Konserveringsmåte`,
                    `Landingsmåte`,
                    `Kvalitet`,
                    SUM(`Rundvekt`),
                    `Redskap`,
                    `Redskap - gruppe`,
                    `Redskap - hovedgruppe`,
                    `Art (kode)` as `fish_id`
                FROM GetSingleOffload
                WHERE `Dokumentnummer` = {0} AND `Rundvekt` != 0
                GROUP BY `Art`, `Produkttilstand`, `Kvalitet`, `Anvendelse`, `Landingsmåte`, `Konserveringsmåte`
                ORDER BY SUM(`Rundvekt`) DESC;", offloadId);
            var reader = cmd.ExecuteReader();

            using (reader)
            {
                reader.Read();
                if (reader.HasRows)
                {
                    DateTime?rowLandingTown = null;
                    try
                    {
                        rowLandingTown = reader.GetDateTime(9);
                    }
                    catch (System.Exception e)
                    {
                        Console.WriteLine(e);
                        Console.WriteLine("--- unable to create date");
                    }

                    offload = genOffloadDto(
                        id: reader.GetInt64(0).ToString(),
                        town: reader.GetString(3),
                        state: reader.GetString(4),
                        landingdate: rowLandingTown,
                        totalWeight: reader.GetFloat(23),
                        boat: genSimpleBoat(
                            registrationId: reader.GetString(5),
                            radioSignalId: reader.GetString(13),
                            name: reader.GetString(6),
                            fishingGear: reader.GetString(24)));

                    offload.MapData = new List <MapDataDto>();
                    offload.MapData.Add(genMapData(reader.GetDouble(8), reader.GetDouble(7)));

                    offload.Fish = new List <FishDto>();
                    var fishRow = genSimpleFish(
                        reader.GetInt32(27),
                        reader.GetString(14),
                        reader.GetString(19),
                        reader.GetString(20),
                        reader.GetString(21),
                        reader.GetString(22),
                        reader.GetString(17),
                        reader.GetFloat(23));
                    offload.Fish.Add(fishRow);

                    while (reader.Read())
                    {
                        fishRow = genSimpleFish(
                            reader.GetInt32(27),
                            reader.GetString(14),
                            reader.GetString(19),
                            reader.GetString(20),
                            reader.GetString(21),
                            reader.GetString(22),
                            reader.GetString(17),
                            reader.GetFloat(23));
                        offload.Fish.Add(fishRow);
                        offload.TotalWeight += reader.GetFloat(23);
                    }
                }
            }
            _connection.Dispose();
            return(offload);
        }