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);
        }
Пример #2
0
        /// <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);
        }