public void SendAnimalToShelterTest() { var shelter = new ShelterRepository(1); var logic = new ShelterLogic(shelter); var cat = new Animal { Name = "cat", AgeInHumanYears = 2 }; shelter.AddAnimal(cat); var person = new Person { Name = "John", Age = 18, Money = 9.99, OwnedAnimals = new Dictionary <string, Animal> { { cat.Name, cat } } }; Rabbit rabbit = new Rabbit { Name = "rabbit", AgeInHumanYears = 2 }; logic.SendAnimalToShelter(rabbit, person); }
public ShelterController(IConfiguration config, ShelterRepository shelterRepo, IMediator mediatr) { _config = config; _mediatr = mediatr; _shelterRepo = shelterRepo; }
/// <summary> /// Update row of grid. /// </summary> public ActionResult UpdateGridForShelters([ModelBinder(typeof(DevExpressEditorsBinder))] SheltersModel model) { try { if (ModelState.IsValid) { if (ShelterRepository.IsUniqueShelter(model)) { ShelterRepository.UpdateShelter(model); } else { TempData["ErrorMessage"] = Supervisor.SErrorMsgProductExist; } } else { TempData["ErrorMessage"] = Common.ErrorMsgForGrid; } } catch (Exception exc) { TempData["ErrorMessage"] = exc.ToString(); Logger.LogError(exc, "Error while updating shelter from Supervisor zone"); } return(PartialView("Grid/_GridForShelters", ShelterRepository.Shelters)); }
/// <summary> /// New row of grid. /// </summary> public ActionResult NewGridForShelterItems([ModelBinder(typeof(DevExpressEditorsBinder))] SheltersDescInfo model, [ModelBinder(typeof(DevExpressEditorsBinder))] int shelterId) { ViewData["ShelterId"] = shelterId; try { ModelState["InStock"].Errors.Clear(); // Don't want to check InStock if (ModelState.IsValid) { if (ShelterRepository.IsUniqueItem(model, Action.New)) { ShelterRepository.NewShelterItem(model); } else { TempData["ErrorMessage"] = Supervisor.SErrorMsgForItemExist; } } else { TempData["ErrorMessage"] = Common.ErrorMsgForGrid; } } catch (Exception exc) { TempData["ErrorMessage"] = exc.Message; Logger.LogError(exc, "Error while saving new shelter item in Shelters grid from Supervisor zone"); } return(PartialView("Grid/_GridForShelterItems", GetShelterItems(shelterId))); }
/// <summary> /// Get possible stock existence as per database's records. /// </summary> /// <param name="shelterId"></param> /// <returns></returns> public ActionResult PossibleShelterStock(int shelterId) { var stockList = new List <float>(); var items = ShelterRepository.GetShelterItemsByKey(shelterId); foreach (var item in items) { var itemQuantity = item.ItemQuantity; var totalItemsQuantity = ItemRepository.GetItemTotalQuantity(item.ItemId); if (itemQuantity.Equals(0) || totalItemsQuantity < itemQuantity) { stockList.Add(0); break; } var possComb = totalItemsQuantity / itemQuantity; stockList.Add(possComb); } if (stockList.Count <= 0) { return(Content(Convert.ToString(0))); } var stock = Math.Floor((decimal)stockList.Min()); return(Content(stockList.Count > 0 ? Convert.ToString(stock) : Convert.ToString(0))); }
public ShelterDetail() { InitializeComponent(); // 1. Get single shelter based on ShelterId var shelter = ShelterRepository.GetShelter(); if (shelter == null) { return; } // 2. Set label's text from obtained details of Shelter _lblShelterName.Text = shelter.ShelterName; _lblShelterCount.Text = ShelterRepository.PossibleShelterStock(shelter.ShelterId).ToString(CultureInfo.InvariantCulture); _lblShelterDesc.Text = string.Format("List of items that make '{0}' -", shelter.ShelterName); // 3. Get shelter's items var shelterItems = ShelterRepository.GetShelterItemsForReport(shelter.ShelterId); // 4. Set datasource of report DataSource = shelterItems; // 5. Bind to cells in table _xrCvSlNo.DataBindings.AddRange(new[] { new XRBinding("Text", null, "ShelterDescKey") }); _xrCvItemName.DataBindings.AddRange(new[] { new XRBinding("Text", null, "ItemName") }); _xrCvSize.DataBindings.AddRange(new[] { new XRBinding("Text", null, "Size") }); _xrCvMarking.DataBindings.AddRange(new[] { new XRBinding("Text", null, "Marking") }); _xrCvQtyPerShelter.DataBindings.AddRange(new[] { new XRBinding("Text", null, "ItemQuantity") }); _xrCvInStock.DataBindings.AddRange(new[] { new XRBinding("Text", null, "InStock") }); _xrCvLastUpdated.DataBindings.AddRange(new[] { new XRBinding("Text", null, "UpdatedOn", "{0:dd-MM-yyyy}") }); _xrCvVendor.DataBindings.AddRange(new[] { new XRBinding("Text", null, "Vendor") }); }
/// <summary> /// Update row of grid. /// </summary> public ActionResult UpdateGridForShelterItems([ModelBinder(typeof(DevExpressEditorsBinder))] SheltersDescInfo model, [ModelBinder(typeof(DevExpressEditorsBinder))] int shelterId) { ViewData["ShelterId"] = shelterId; try { if (ModelState.IsValid) { if (ShelterRepository.IsUniqueItem(model, Action.Update)) { ShelterRepository.UpdateShelterItem(model); } else { TempData["ErrorMessage"] = Supervisor.SErrorMsgForItemExist; } } else { TempData["ErrorMessage"] = Common.ErrorMsgForGrid; } } catch (Exception exc) { TempData["ErrorMessage"] = exc.Message; Logger.LogError(exc, "Error while updating shelter's items from Supervisor zone"); } return(PartialView("Grid/_GridForShelterItems", GetShelterItems(shelterId))); }
public MapController(IConfiguration config, ShelterRepository shelterRepo, DogRepository dogRepo, UserTypeRepository userTypeRepo) { _config = config; _shelterRepo = shelterRepo; _dogRepo = dogRepo; _userTypeRepo = userTypeRepo; }
public DogController(IMediator mdr, IConfiguration config, DogRepository dogRepo, ShelterRepository shelterRepo) { _mdr = mdr; _config = config; _dogRepo = dogRepo; _shelterRepo = shelterRepo; }
public void GetNullAnimalTest() { var shelter = new ShelterRepository(1); // Rabbit rabbit = null; shelter.GetAnimal <Rabbit>(); }
/// <summary> /// Get model for ShelterItems. /// </summary> /// <param name="shelterId">shelterId for which items to be shown.</param> /// <param name="qtyMultiple">Number of shelter user is requesting.</param> /// <returns></returns> private static ShelterItemsModel GetShelterItems(int shelterId, int qtyMultiple) { var items = ShelterRepository.GetShelterItemsByKey(shelterId, qtyMultiple); return(new ShelterItemsModel { ShelterKey = shelterId, ShelterItems = items }); }
/// <summary> /// Show items used in current shelter. /// </summary> /// <param name="shelterId"></param> /// <returns></returns> public ActionResult ShelterItems(int shelterId) { ViewData["ShelterId"] = shelterId; return(PartialView("Grid/_GridForShelterItems", new ShelterItemsModel { ShelterKey = shelterId, ShelterItems = ShelterRepository.GetShelterItemsDetail(shelterId) })); }
/// <summary> /// Get possible product stock by existing items. /// </summary> private static string PossibleRequestStock(int productId) { var items = ShelterRepository.GetShelterItemsByKey(productId); var stockList = (from item in items let itemQuantity = item.ItemQuantity let totalItemsQuantity = ItemRepository.GetItemTotalQuantity(item.ItemId) where totalItemsQuantity > itemQuantity select totalItemsQuantity / itemQuantity).ToList(); return(stockList.Count > 0 ? string.Format("{0:N2}", stockList.Min()) : Convert.ToString(0)); }
public void RemoveAnimal_AnimalEmpty() { var shelter = new ShelterRepository(1); Cat cat = null; shelter.AddAnimal(cat); shelter.RemoveAnimal(cat); }
public void RemoveAnimal_ShelterEmpty() { var shelter = new ShelterRepository(1); Cat cat = new Cat { Name = "cat", AgeInHumanYears = 2 }; shelter.RemoveAnimal(cat); }
public void GetNumberOfAnimalsInShelterTest1() { var shelter = new ShelterRepository(1); var logic = new ShelterLogic(shelter); var cat = new Cat { Name = "cat", AgeInHumanYears = 2 }; shelter.AddAnimal(cat); logic.GetNumberOfAnimalsInShelter("alligator"); }
public void GetNumberOfCatsInShelterTest() { var shelter = new ShelterRepository(1); Rabbit rabbit = new Rabbit { Name = "rabbit", AgeInHumanYears = 2 }; //shelter.AddAnimal(rabbit); var expected = 0; var actual = shelter.GetNumberOfCatsInShelter(); Assert.AreEqual(expected, actual); }
public void GetNumberOfAnimalsInShelterTest_Zero() { var shelter = new ShelterRepository(1); Cat cat = new Cat { Name = "cat", AgeInHumanYears = 2 }; var expected = 0; var actual = shelter.GetNumberOfAnimalsInShelter(cat.GetType()); Assert.AreEqual(expected, actual); }
public void RemoveAnimalTest() { var shelter = new ShelterRepository(1); Cat cat = new Cat { Name = "cat", AgeInHumanYears = 2 }; Dog dog = new Dog { Name = "dog1", AgeInHumanYears = 2, Price = 22.99 }; shelter.AddAnimal(cat); shelter.RemoveAnimal(dog); }
private static void DeleteShelter(int shelterId) { try { if (shelterId > 0) { ShelterRepository.DeleteShelter(shelterId); } } catch (Exception e) { Logger.LogError(e, "Error while deleting shelter from Supervisor zone"); } }
public void GetNumberOfAnimalsInShelterTest_String() { var shelter = new ShelterRepository(1); var logic = new ShelterLogic(shelter); var cat = new Cat { Name = "cat", AgeInHumanYears = 2 }; shelter.AddAnimal(cat); var expected = "1 cat(s) in the shelter"; var actual = logic.GetNumberOfAnimalsInShelter(cat.GetType().Name.ToLower()); Assert.AreEqual(expected, actual); }
/// <summary> /// Delete row of grid. /// </summary> public ActionResult DeleteGridForShelterItems([ModelBinder(typeof(DevExpressEditorsBinder))] SheltersDescInfo model, [ModelBinder(typeof(DevExpressEditorsBinder))] int shelterId) { ViewData["ShelterId"] = shelterId; try { ShelterRepository.DeleteShelterItem(model); } catch (Exception exc) { TempData["DeleteErrorMsg"] = exc.Message; Logger.LogError(exc, "Error while deleting shelter's items from Supervisor zone"); } return(PartialView("Grid/_GridForShelterItems", GetShelterItems(shelterId))); }
public void GetNumberOfAnimalsInShelterTest() { var shelter = new ShelterRepository(1); var logic = new ShelterLogic(shelter); var cat = new Cat { Name = "cat", AgeInHumanYears = 2 }; shelter.AddAnimal(cat); var expected = "1 cat(s) in the shelter\n0 dog(s) in the shelter\n0 snake(s) in the shelter" + $"\n0 hamster(s) in the shelter\n0 rabbit(s) in the shelter"; var actual = logic.GetNumberOfAnimalsInShelter(); Assert.AreEqual(expected, actual); }
public void IsShelterFullTest() { ShelterRepository shelter = new ShelterRepository(1); ShelterLogic logic = new ShelterLogic(shelter); Rabbit rabbit2 = new Rabbit { Name = "rabbit2", AgeInHumanYears = 8 }; shelter.AddAnimal(rabbit2); var expected = true; var actual = shelter.IsShelterFull(); Assert.AreEqual(expected, actual); }
/// <summary> /// Delete row from grid. /// </summary> public ActionResult DeleteGridForShelters([ModelBinder(typeof(DevExpressEditorsBinder))] int shelterId) { try { if (shelterId > 0) { ShelterRepository.DeleteShelter(shelterId); } } catch (Exception exc) { TempData["DeleteErrorMsg"] = exc.Message; Logger.LogError(exc, "Error while deleting shelter from Supervisor zone"); } return(PartialView("Grid/_GridForShelters", ShelterRepository.Shelters)); }
public void PurchaseAnimal_NullShelterTest() { var shelter = new ShelterRepository(0); var logic = new ShelterLogic(shelter); var person = new Person { Name = "John", Age = 18, Money = 29.99, OwnedAnimals = new Dictionary <string, Animal>() }; Animal expected = null; var actual = person.BuyAnimal <Cat>(logic); Assert.AreEqual(expected, actual); }
public void PurchaseAnimal_NotEnoughMoney() { var shelter = new ShelterRepository(1); var logic = new ShelterLogic(shelter); var cat = new Cat { Name = "cat1", AgeInHumanYears = 3, Price = 13.20 }; shelter.AddAnimal(cat); var person = new Person { Name = "John", Age = 18, Money = 9.99, OwnedAnimals = new Dictionary <string, Animal>() }; person.BuyAnimal <Cat>(logic); }
public void BuyAnimalTest1() { var shelter = new ShelterRepository(1); var logic = new ShelterLogic(shelter); var cat = new Cat { Name = "cat", AgeInHumanYears = 2 }; var person = new Person { Name = "John", Age = 18, Money = 9.99, OwnedAnimals = new Dictionary <string, Animal>() }; Animal expected = null; var actual = logic.BuyAnimal <Cat>(person, cat.Name); Assert.AreEqual(expected, actual); }
public void BuyAnimalTest2() { var shelter = new ShelterRepository(1); var logic = new ShelterLogic(shelter); var cat = new Animal { Name = "cat", AgeInHumanYears = 2 }; shelter.AddAnimal(cat); var person = new Person { Name = "John", Age = 18, Money = 9.99, OwnedAnimals = new Dictionary <string, Animal>() }; logic.BuyAnimal <Animal>(person, cat.Name); }
public void BuyAnimalTest_NoAnimalInitialized() { int maxNumberOfAnimals = 5; Rabbit rabbit2 = new Rabbit { Name = "rabbit2", AgeInHumanYears = 8, Price = 5 }; ShelterRepository shelterRepository = new ShelterRepository(maxNumberOfAnimals); shelterRepository.AddAnimal(rabbit2); ShelterLogic logic = new ShelterLogic(shelterRepository); Person person = new Person { Name = "John", Age = 18, Money = 29.99, OwnedAnimals = new Dictionary <string, Animal>() }; person.BuyAnimal <Rabbit>(logic); }