public void TestDeleteServiceProvidedAsync()
        {
            ApplicationSeeder.Seed();

            var bo = new ServiceProvidedBO();

            var resList = bo.ListAsync().Result;
            var total   = resList.Result.Count;

            var resDelete = bo.Delete(resList.Result.First().Id);

            var list = bo.ListUndeletedAsync().Result;

            Assert.IsTrue(resDelete.Success && resList.Success && list.Result.Count == (total - 1));
        }
        public void TestUpdateServiceProvidedAsync()
        {
            ApplicationSeeder.Seed();

            var bo        = new ServiceProvidedBO();
            var foreignBO = new ServiceBO();

            var resList = bo.ListAsync().Result;

            var item = resList.Result.FirstOrDefault();

            item.ServiceId = foreignBO.ListUndeleted().Result.Last().Id;

            var resUpdate = bo.UpdateAsync(item).Result;

            var list = bo.ListUndeletedAsync().Result;

            Assert.IsTrue(resList.Success && resUpdate.Success && list.Result.First().ServiceId == foreignBO.ListUndeleted().Result.Last().Id);
        }
        public async Task <IActionResult> Index()
        {
            var listOperation = await _bo.ListUndeletedAsync();

            if (!listOperation.Success)
            {
                return(OperationErrorBackToIndex(listOperation.Exception));
            }

            var finalList = new List <ServiceProvidedVM>();

            foreach (var item in listOperation.Result)
            {
                finalList.Add(ServiceProvidedVM.Parse(item));
            }

            var serviceList = await GetServiceViewModels(listOperation.Result.Select(x => x.ServiceId).Distinct().ToList());

            ViewData["Title"]       = "Services provided";
            ViewData["BreadCrumbs"] = GetCrumbs();
            ViewData["DeleteHref"]  = GetDeleteRef();
            ViewData["Services"]    = serviceList;
            return(View(finalList));
        }