示例#1
0
        public override void Execute(object parameter)
        {
            var breeds = QueryManager.GetBreeds(out var message);

            if (!message.IsSuccess())
            {
                MessageBoxer.Info(message.Data);
                return;
            }

            var animalWindowVm = new AnimalWindowVm {
                Breeds = breeds
            };
            var animalWindow = new AnimalWindow {
                DataContext = animalWindowVm
            };

            if (animalWindow.ShowDialog() != true)
            {
                return;
            }

            var animalDto    = AnimalMapper.MapAnimalWindowVmToAnimalDto(animalWindowVm);
            var createResult = QueryManager.CreateAnimal(animalDto);

            if (!createResult.IsSuccess())
            {
                MessageBoxer.Info(message.Data);
                return;
            }

            var mainWindowVm = (MainWindowVm)parameter;

            mainWindowVm.Update();
        }
示例#2
0
        //Buscar Animales de un Establecimiento
        public List <Animal> buscarAnimales(Int64 dicose, String sexo)
        {
            List <Animal>         animales        = null;
            List <IDataParameter> listaParametros = new List <IDataParameter>();
            IDataParameter        pDICOSE         = CrearParametro("@DICOSE", dicose);
            IDataParameter        pSexo           = CrearParametro("@SEXO", sexo);

            listaParametros.Add(pDICOSE);
            listaParametros.Add(pSexo);
            IDataReader dr = EjecutarReader(CommandType.Text,
                                            "select * from Animales where DICOSE = @DICOSE and SEXO = @SEXO and AñoMuerte = 0",
                                            listaParametros);

            if (dr != null)
            {
                animales = new List <Animal>();
                while (dr.Read())
                {
                    Animal       obj    = new Animal();
                    AnimalMapper mapper = new AnimalMapper(obj);
                    mapper.load(dr);
                    animales.Add(obj);
                }
                dr.Close();
            }
            return(animales);
        }
示例#3
0
        public List <Animal> reporteSinPesar(DateTime fecha)
        {
            List <Animal>         animales        = null;
            List <IDataParameter> listaParametros = new List <IDataParameter>();
            IDataParameter        pFecha          = CrearParametro("@Fecha", fecha);

            listaParametros.Add(pFecha);
            //DEVUELVO ANIMALES VIVOS SIN PESAR DESDE LA FECHA PASADA
            IDataReader dr = EjecutarReader(CommandType.Text,
                                            "select * from Animales where AñoMuerte = 0 and ID not in" +
                                            "(select ID from Eventos where Tipo like 'Pesaje' and Fecha > @Fecha)",
                                            listaParametros);

            if (dr != null)
            {
                animales = new List <Animal>();
                while (dr.Read())
                {
                    Animal       obj    = new Animal();
                    AnimalMapper mapper = new AnimalMapper(obj);
                    mapper.load(dr);
                    animales.Add(obj);
                }
                dr.Close();
            }
            return(animales);
        }
        public IActionResult Get(string id, [FromQuery(Name = "lat")] float lat, [FromQuery(Name = "lng")] float lng)
        {
            try
            {
                var registeredAnimal = _privateProfileService.GetById(new Guid(id));
                if (registeredAnimal.AnimalId == null)
                {
                    throw new ApiException(HttpStatusCode.Forbidden, ApiError.NotFound);
                }

                var animal = _animalService.Edit((Guid)registeredAnimal.AnimalId, new DTO.Service.Coordinate()
                {
                    Latitude = lat, Longitude = lng
                });

                return(Ok(AnimalMapper.StoA(animal)));
            }
            catch (ApiException exp)
            {
                return(StatusCode(
                           exp.GetStatusCode(),
                           Error.CreateBuilder().SetErrorMessage(exp.GetErrorMessage()).Build()
                           ));
            }
            catch
            {
                return(BadRequest());
            }
        }
 private IEnumerable <Animal> GetAllSync()
 {
     return(_animalContext.Items.Select(i => AnimalMapper.Map(
                                            i,
                                            AnimalTypeMapper.Map(_animalTypeContext.Items.First(t => t.Name == i.AnimalTypeName)),
                                            GetUser(i.OwnerNickname)
                                            )));
 }
示例#6
0
        public async Task Update(AnimalDto entity)
        {
            var animal = await this.unitOfWork.Animals.Get(entity.Id);

            AnimalMapper.MapUpdate(animal, entity);

            await this.unitOfWork.Animals.Update(animal);
        }
示例#7
0
        public Animal Add(Animal animal)
        {
            animal.UploadDate = DateTimeOffset.Now;
            var addedAnimal = _animalDataProvider.Add(AnimalMapper.StoD(animal));

            _unitOfWork.Commit();

            return(AnimalMapper.DtoS(addedAnimal));
        }
 public IActionResult Get(string id)
 {
     try
     {
         var animal = AnimalMapper.StoA(_animalService.GetById(new Guid(id)));
         return(Ok(animal));
     }
     catch
     {
         return(BadRequest());
     }
 }
示例#9
0
 public void Add(SACG_BLL.Animal a)
 {
     try
     {
         AnimalMapper mapper = new AnimalMapper(a);
         mapper.Insertar();
         mapper = null;
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#10
0
        public IEnumerable <Animal> GetWithPagination(Status status, ushort skip, ushort count, float userPointLat, float userPointLng, short radius)
        {
            List <DAL.Entity.Animal> animals = (List <DAL.Entity.Animal>)_animalDataProvider.GetAll(status, skip, count);

            var filteredAnimals = animals.FindAll(a =>
            {
                DAL.Entity.Coordinate[] coordinates = new DAL.Entity.Coordinate[a.Coordinates.Count];
                a.Coordinates.CopyTo(coordinates, 0);
                var pointLat = coordinates[coordinates.Length - 1].Latitude;
                var pointLng = coordinates[coordinates.Length - 1].Longitude;

                return(_geo.GetDistance(pointLat, pointLng, userPointLat, userPointLng) <= radius);
            });

            return(AnimalMapper.DtoS(filteredAnimals));
        }
 public async Task <Animal> Get(string key)
 {
     return(await Task.Run(() =>
     {
         AnimalMemoryMockModel animalMemoryMockModel = GetItem(key);
         if (animalMemoryMockModel is null)
         {
             throw new Exception($"Item not found in AnimalMemoryMockRepository for key {key}");
         }
         var animalTypeMemoryMockModel = _animalTypeContext.Items.FirstOrDefault(i => i.Name == animalMemoryMockModel.AnimalTypeName);
         if (animalTypeMemoryMockModel is null)
         {
             throw new Exception($"Item not found in AnimalMemoryMockRepository for key {animalMemoryMockModel.AnimalTypeName}");
         }
         var user = GetUser(animalMemoryMockModel.OwnerNickname);
         return AnimalMapper.Map(animalMemoryMockModel, AnimalTypeMapper.Map(animalTypeMemoryMockModel), user);
     }));
 }
示例#12
0
        public IActionResult Add([FromBody] Animal animal)
        {
            try
            {
                string userId = User.FindFirst(ClaimTypes.PrimarySid).Value;

                var sAnimal = AnimalMapper.AtoS(animal);
                sAnimal.Status = Status.Found;
                sAnimal.UserId = userId;

                var addedAnimal = AnimalMapper.StoA(_animalService.Add(sAnimal));
                return(Ok(addedAnimal));
            }
            catch
            {
                return(BadRequest());
            }
        }
 public IActionResult GetWithPagination(
     [FromQuery(Name = "skip")] ushort skip,
     [FromQuery(Name = "count")] ushort count,
     [FromQuery(Name = "lat")] float lat,
     [FromQuery(Name = "lng")] float lng,
     [FromQuery(Name = "radius")] short radius
     )
 {
     try
     {
         var animals = AnimalMapper.StoA(_animalService.GetWithPagination(Status.Lost, skip, count, lat, lng, radius));
         return(Ok(animals));
     }
     catch
     {
         return(BadRequest());
     }
 }
示例#14
0
        public IActionResult GetWithPaginationByUserId(
            [FromQuery(Name = "skip")] ushort skip,
            [FromQuery(Name = "count")] ushort count
            )
        {
            try
            {
                string userId = User.FindFirst(ClaimTypes.PrimarySid).Value;

                var animals = AnimalMapper.StoA(
                    _animalService.GetWithPaginationByUserId(userId, Status.Found, skip, count)
                    );
                return(Ok(animals));
            }
            catch
            {
                return(BadRequest());
            }
        }
示例#15
0
        public Animal Edit(Guid id, Coordinate coordinates)
        {
            var animal = _animalDataProvider.Get(id);

            if (animal == null)
            {
                throw new ApiException(HttpStatusCode.Forbidden, ApiError.NotFound);
            }

            var animalCoordinates = animal.Coordinates;

            animalCoordinates.Add(CoordinateMapper.StoD(coordinates));
            animal.Coordinates = animalCoordinates;

            var updatedAnimal = _animalDataProvider.Update(animal);

            _unitOfWork.Commit();

            return(AnimalMapper.DtoS(updatedAnimal));
        }
示例#16
0
 public AnimalCrudFactory() : base()
 {
     mapper = new AnimalMapper();
     Dao    = SqlDao.GetInstance();
 }
示例#17
0
        public async Task Create(AnimalDto entity)
        {
            var animal = AnimalMapper.Map(entity);

            await this.unitOfWork.Animals.Create(animal);
        }
示例#18
0
        public async Task <AnimalDto> Get(int id)
        {
            var animal = await this.unitOfWork.Animals.Get(id);

            return(AnimalMapper.Map(animal));
        }
示例#19
0
        public Animal GetById(Guid id)
        {
            var animal = _animalDataProvider.Get(id);

            return(AnimalMapper.DtoS(animal));
        }
示例#20
0
        public IEnumerable <Animal> GetWithPaginationByUserId(string userId, Status status, ushort skip, ushort count)
        {
            var animals = _animalDataProvider.GetAllByUserId(userId, status, skip, count);

            return(AnimalMapper.DtoS(animals));
        }