public ContractListingViewModel GetContractViewerModel([FromQuery] int page = 1, [FromQuery] bool filter = false, [FromQuery] int type = 0, [FromQuery] string contains = "") { var model = new ContractListingViewModel(); //set model state var filterColumnName = FilterColumn.None; if (Enum.IsDefined(typeof(FilterColumn), type)) { filterColumnName = (FilterColumn)type; } model.FilterType = filterColumnName.ToString(); model.IsFilterApplied = filter; model.FilterString = contains; model.DocumentNames = GetDocumentNames(); int totalRows; if (filter && !string.IsNullOrEmpty(contains)) { model.ContractModels = GetFilteredConstractsQuery(filterColumnName, contains, page, out totalRows); } else { model.ContractModels = GetContracts(out totalRows, page); } model.UpdatePagination(totalRows); return(model); }
/// <summary> /// Maps Contract listing details to contact listing view model /// </summary> /// <param name="contractData">contractData</param> /// <returns>contact listing view model</returns> public static BaseResult <List <ContractListingViewModel> > MapContractListingResponse(BaseResult <List <ContractOverview> > contractData) { BaseResult <List <ContractListingViewModel> > result = new BaseResult <List <ContractListingViewModel> >(); List <ContractListingViewModel> contracts = new List <ContractListingViewModel>(); foreach (var item in contractData.Result) { if (item.ParentContractId == null) { ContractListingViewModel contract = new ContractListingViewModel { Id = item.Id, Name = item.Name, StartDate = item.StartDate, EndDate = item.EndDate, Status = item.Status, HotelName = item.HotelName, Location = item.HotelLocation, Designation = item.Designation, ContractType = item.ContractType }; ContactDetailsViewModel contact = new ContactDetailsViewModel { ContactPerson = item.ContactPerson, ContactNumber = item.ContactNumber, EmailAddress = item.EmailAddress }; contract.Contacts.Add(contact); contracts.Add(contract); } else { ContractListingViewModel promo = contracts.Where(x => x.Id == item.ParentContractId).FirstOrDefault(); if (promo != null) { promo.PromoContracts.Add ( new PromoContractsViewModel { Id = item.Id, Name = item.Name, StartDate = item.StartDate, EndDate = item.EndDate, Status = item.Status, ContractType = item.ContractType } ); } } } result.Result = contracts; return(result); }
public void TestGetAllContracts_Success_OKResponse() { //Arrange ContactDetailsViewModel contact = new ContactDetailsViewModel { ContactPerson = "John Adams", ContactNumber = "8541236", EmailAddress = "*****@*****.**" }; PromoContractsViewModel promo = new PromoContractsViewModel { Id = 1015, Name = "Main Promo1", StartDate = DateTime.Now, EndDate = DateTime.Now, Status = "ACTIVE" }; var dataRow = new ContractListingViewModel { Id = 1007, Name = "Main Contract", StartDate = DateTime.Now, EndDate = DateTime.Now, Status = "ACTIVE", HotelName = "View images T24 Residency", Location = "Mumbai,India", Designation = "Group Sales Manager", }; dataRow.Contacts.Add(contact); dataRow.PromoContracts.Add(promo); contractsRepositoryMock.Setup(x => x.GetAllContracts()).Returns(Task.FromResult(new BaseResult <List <ContractListingViewModel> >() { Result = new List <ContractListingViewModel>() { dataRow } })).Verifiable(); //Act var result = contractsController.GetAllContracts(); //Assert contractsRepositoryMock.Verify(); Assert.IsTrue(result.Result is OkObjectResult); Assert.AreEqual(((OkObjectResult)result.Result).StatusCode, 200); }