Пример #1
0
        public List <ParkSiteDto> GetParkSites(SearchParameter searchParam)
        {
            _context.Configuration.ProxyCreationEnabled = false;
            List <ParkSiteDto> result = null;

            if (searchParam != null)
            {
                List <ParkSite> items            = null;
                ParkSiteDto     ParkDto          = GetParkSiteObject(searchParam);
                string          SiteNumber       = ParkDto.SiteNumber;
                decimal         Premium          = Convert.ToDecimal(ParkDto.Premium);
                decimal         Liability        = ParkDto.Liability.HasValue ? Convert.ToDecimal(ParkDto.Liability) : 0;
                decimal         PersonalProperty = ParkDto.PersonalProperty.HasValue ? Convert.ToDecimal(ParkDto.PersonalProperty) : 0;

                if (!searchParam.IsFilterValue)
                {
                    searchParam.TotalRecordCount = _context.ParkSites.Where(p => p.IsActive == true).Count();
                    items = _context.ParkSites.Include("State")
                            .Include("Park")
                            .Include("Quote")
                            .Include("Quote.Company").Where(p => p.IsActive == true).
                            OrderByDescending(x => x.Id)
                            .Skip(searchParam.StartIndex).Take((searchParam.PageSize > 0 ? searchParam.PageSize : searchParam.TotalRecordCount)).
                            ToList();
                }
                else
                {
                    DateTime dtoEffectiveDate = DateTime.Now;
                    DateTime dtoExpiryDate    = DateTime.Now;

                    if (!string.IsNullOrEmpty(ParkDto.EffectiveDate))
                    {
                        dtoEffectiveDate = DateTime.Parse(ParkDto.EffectiveDate);
                    }
                    else if (!string.IsNullOrEmpty(ParkDto.ExpiryDate))
                    {
                        dtoExpiryDate = DateTime.Parse(ParkDto.ExpiryDate);
                    }

                    items = _context.ParkSites.Include("State")
                            .Include("Park")
                            .Include("Quote")
                            .Include("Quote.Company")
                            .Where(m => m.IsActive == true &&
                                   (ParkDto.Id == 0 ? 1 == 1 : m.Id == ParkDto.Id) &&
                                   (ParkDto.ParkId == 0 ? 1 == 1 : m.ParkId == ParkDto.ParkId) &&
                                   (string.IsNullOrEmpty(ParkDto.ParkName) ? 1 == 1 : m.Park.ParkName.ToUpper().StartsWith(ParkDto.ParkName.ToUpper())) &&
                                   (string.IsNullOrEmpty(SiteNumber) ? 1 == 1 : m.SiteNumber.ToUpper().StartsWith(SiteNumber)) &&
                                   (Premium == 0 ? 1 == 1 : SqlFunctions.StringConvert((double)m.Quote.Premium).StartsWith(SqlFunctions.StringConvert((double)Premium))) &&
                                   (string.IsNullOrEmpty(ParkDto.CompanyName) ? 1 == 1 : m.Quote.Company.Name.ToUpper().StartsWith(ParkDto.CompanyName.ToUpper())) &&
                                   (string.IsNullOrEmpty(ParkDto.SiteRental) ? 1 == 1 : m.SiteRental.ToUpper().StartsWith(ParkDto.SiteRental.ToUpper())) &&
                                   (PersonalProperty == 0 ? 1 == 1 : SqlFunctions.StringConvert((double)m.Quote.PersonalProperty).StartsWith(SqlFunctions.StringConvert((double)PersonalProperty))) &&
                                   (Liability == 0 ? 1 == 1 : SqlFunctions.StringConvert((double)m.Quote.Liability).StartsWith(SqlFunctions.StringConvert((double)Liability))) &&
                                   (string.IsNullOrEmpty(ParkDto.TenantFirstName) ? 1 == 1 : m.TenantFirstName.ToUpper().StartsWith(ParkDto.TenantFirstName)) &&
                                   (string.IsNullOrEmpty(ParkDto.TenantLastName) ? 1 == 1 : m.TenantLastName.ToUpper().StartsWith(ParkDto.TenantLastName)) &&
                                   (string.IsNullOrEmpty(ParkDto.EffectiveDate) ? 1 == 1 : (m.Quote.EffectiveDate.HasValue ? m.Quote.EffectiveDate.Value : DateTime.MinValue) == dtoEffectiveDate) &&
                                   (string.IsNullOrEmpty(ParkDto.ExpiryDate) ? 1 == 1 : (m.Quote.ExpiryDate.HasValue ? m.Quote.ExpiryDate.Value : DateTime.MinValue) == dtoExpiryDate) &&
                                   m.IsActive == true
                                   ).ToList();

                    searchParam.TotalRecordCount = items.Count();
                }
                result = items.Select(x =>
                                      new ParkSiteDto()
                {
                    Id               = x.Id,
                    ParkName         = (x.Park != null ? x.Park.ParkName : string.Empty),
                    ParkId           = Convert.ToInt64(x.ParkId),
                    CompanyName      = (x.Quote != null ? Convert.ToString(x.Quote.Company != null ? x.Quote.Company.Name : "") : ""),
                    SiteRental       = x.SiteRental,
                    TenantFirstName  = x.TenantFirstName,
                    TenantLastName   = x.TenantLastName,
                    Liability        = (x.Quote != null ? Convert.ToDecimal(x.Quote.Liability) : 0),
                    PersonalProperty = (x.Quote != null ? Convert.ToInt32(x.Quote.PersonalProperty) : 0),
                    EffectiveDate    = (x.Quote != null ? Convert.ToString(x.Quote.EffectiveDate.HasValue ? x.Quote.EffectiveDate.Value.ToShortDateString() : null) : ""),
                    ExpiryDate       = (x.Quote != null ? Convert.ToString(x.Quote.ExpiryDate.HasValue ? x.Quote.ExpiryDate.Value.ToShortDateString() : null) : ""),
                    Premium          = (x.Quote != null ? Convert.ToInt32(x.Quote.Premium) : 0),
                    SiteNumber       = x.SiteNumber,
                }
                                      ).ToList();
            }

            searchParam.SearchedCount = (!searchParam.IsFilterValue ? searchParam.TotalRecordCount : result.Count);

            return(result);
        }
Пример #2
0
        private ParkSiteDto GetParkSiteObject(SearchParameter searchParam)
        {
            ParkSiteDto parkObj = new ParkSiteDto();

            if (searchParam != null)
            {
                var isFilterValue = searchParam.SearchColumnValue.Any(e => !string.IsNullOrWhiteSpace(e));

                searchParam.IsFilterValue = isFilterValue;

                if ((searchParam.SearchColumn != null && searchParam.SearchColumn.Count > 0) &&
                    searchParam.SearchColumn.Count == searchParam.SearchColumnValue.Count && isFilterValue) // minus -1 means, skipping action column from search list
                {
                    var filterValueProp = new Dictionary <string, string>();
                    for (int idx = 0; idx < searchParam.SearchColumnValue.Count; idx++)
                    {
                        if (!string.IsNullOrWhiteSpace(searchParam.SearchColumnValue[idx]))
                        {
                            if (searchParam.SearchColumn[idx] == "Id")
                            {
                                parkObj.Id = Convert.ToInt32(searchParam.SearchColumnValue[idx]);
                            }
                            else if (searchParam.SearchColumn[idx] == "ParkId")
                            {
                                parkObj.ParkId = Convert.ToInt32(searchParam.SearchColumnValue[idx]);
                            }
                            else if (searchParam.SearchColumn[idx] == "ParkName")
                            {
                                parkObj.ParkName = searchParam.SearchColumnValue[idx];
                            }
                            else if (searchParam.SearchColumn[idx] == "SiteNumber")
                            {
                                parkObj.SiteNumber = searchParam.SearchColumnValue[idx];
                            }
                            else if (searchParam.SearchColumn[idx] == "TenantFirstName")
                            {
                                parkObj.TenantFirstName = searchParam.SearchColumnValue[idx];
                            }
                            else if (searchParam.SearchColumn[idx] == "TenantLastName")
                            {
                                parkObj.TenantLastName = searchParam.SearchColumnValue[idx];
                            }
                            else if (searchParam.SearchColumn[idx] == "Premium")
                            {
                                parkObj.Premium = Convert.ToDecimal(searchParam.SearchColumnValue[idx]);
                            }
                            else if (searchParam.SearchColumn[idx] == "ExpiryDate")
                            {
                                parkObj.ExpiryDate = searchParam.SearchColumnValue[idx];
                            }
                            else if (searchParam.SearchColumn[idx] == "EffectiveDate")
                            {
                                parkObj.EffectiveDate = searchParam.SearchColumnValue[idx];
                            }
                            else if (searchParam.SearchColumn[idx] == "SiteRental")
                            {
                                parkObj.SiteRental = searchParam.SearchColumnValue[idx];
                            }
                            else if (searchParam.SearchColumn[idx] == "CompanyName")
                            {
                                parkObj.CompanyName = searchParam.SearchColumnValue[idx];
                            }
                            else if (searchParam.SearchColumn[idx] == "Liability")
                            {
                                parkObj.Liability = Convert.ToDecimal(searchParam.SearchColumnValue[idx]);
                            }
                            else if (searchParam.SearchColumn[idx] == "PersonalProperty")
                            {
                                parkObj.PersonalProperty = Convert.ToDecimal(searchParam.SearchColumnValue[idx]);
                            }
                        }
                    }
                }
            }
            return(parkObj);
        }