コード例 #1
0
        public FishBoneOutput Execute(int id)
        {
            var paramC = _fishBoneRepository.Get(id);

            if (paramC != null)
            {
                return(new FishBoneOutput(paramC.FishboneID, paramC.Name, paramC.Color, paramC.Active));
            }
            throw new EntityNotFoundException(id, "No se encontro una espina de pescado con ese ID");
        }
コード例 #2
0
 public FishBoneOutput Execute(bool active, string color, string name)
 {
     if (_fishBoneRepository.GetCountActive() < 6 && active)
     {
         if (_fishBoneRepository.Get(name, color) == null)
         {
             var newParam = new Domain.FishBone.FishBone(name, color, active);
             newParam = _fishBoneRepository.Add(newParam);
             return(new FishBoneOutput(newParam.FishboneID, newParam.Name, newParam.Color, newParam.Active));
         }
         else
         {
             throw new DuplicateEntityException(name, "Ya existe un estado de espina de pescado con este nombre");
         }
     }
     else
     {
         throw new DuplicateEntityException(name, "No se puede agregar mas de 6 categorías activas");
     }
 }
コード例 #3
0
        public FishBoneOutput Execute(int id, string name, string color, bool active)
        {
            var fishBone = _fishBoneRepository.Get(id);

            if (fishBone != null)
            {
                if (!((fishBone.Active != active) && !active && _fishBoneRepository.GetCountActive() <= 1))
                {
                    if (!((fishBone.Active != active) && active && _fishBoneRepository.GetCountActive() >= 6))
                    {
                        if (_fishBoneRepository.CheckExistsFishBone(color, name, id) == null)
                        {
                            fishBone.Name   = name;
                            fishBone.Active = active;
                            fishBone.Color  = color;
                            var res = _fishBoneRepository.Update(fishBone);
                            return(new FishBoneOutput(fishBone.FishboneID, fishBone.Name, fishBone.Color, fishBone.Active));
                        }
                        else
                        {
                            throw new DuplicateEntityException(name, "Ya existe una espina de pesacado con este nombre");
                        }
                    }
                    else
                    {
                        throw new CantDesactivateException(name, "No se puede tener mas de 6 categorías activas");
                    }
                }
                else
                {
                    throw new CantDesactivateException(name, "Debe existir al menos una categoría activa");
                }
            }
            else
            {
                throw new EntityNotFoundException(id, "No se encontró espina de pesacado con ese ID");
            }
        }