private void detailsBtn_Click(object sender, EventArgs e) { if (this.treeZones.SelectedNode != null && ((ZoneDTO)this.treeZones.SelectedNode.Tag) != null) { ZoneDetails zoneDetailsWindows = new ZoneDetails((ZoneDTO)this.treeZones.SelectedNode.Tag); zoneDetailsWindows.ShowDialog(); } else { if (this.listSubZones.SelectedItems.Count > 0) { ZoneDetails zoneDetailsWindows = new ZoneDetails((ZoneDTO)this.listSubZones.SelectedItems[0].Tag); zoneDetailsWindows.ShowDialog(); } else { MessageBox.Show( "Seleccione una zona o subzona.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public async Task <HttpResponseMessage> GetZoneDetails(ZoneDetailRQ RQ) { ZoneDetails resultList = new ZoneDetails(); if (RQ.PageSize == 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Page Size should be greater than Zero.")); } _database = MongoDBHandler.mDatabase(); if (!string.IsNullOrWhiteSpace(RQ.ZoneId)) { var collection = _database.GetCollection <ZoneMaster>("ZoneMaster"); var searchResult = await collection.Find(x => x._id == RQ.ZoneId.ToUpper()).ToListAsync(); if (searchResult != null && searchResult.Count > 0) { var details = (from z in searchResult select new { z._id, z.Zone_Name, z.Zone_Type, z.Zone_SubType, z.TLGXCountryCode, z.Latitude, z.Longitude, z.Zone_Radius, z.Zone_Code }).FirstOrDefault(); if (details != null) { resultList.ZoneId = details._id; resultList.Zone_Name = details.Zone_Name; resultList.Zone_Type = details.Zone_Type; resultList.Zone_SubType = details.Zone_SubType; resultList.SystemCountryCode = details.TLGXCountryCode; resultList.Latitude = details.Latitude; resultList.Longitude = details.Longitude; resultList.Zone_Radius = details.Zone_Radius; resultList.Zone_Code = details.Zone_Code; } // For Zone-Hotels var SearchZoneProducts = (from m in searchResult select m.Zone_ProductMapping).ToList(); int TotalHotels = SearchZoneProducts[0].Count(); resultList.PageSize = RQ.PageSize; resultList.CurrentPage = RQ.PageNo; resultList.TotalNumberOfHotels = TotalHotels; if (TotalHotels > 0) { int remainder = TotalHotels % RQ.PageSize; int quotient = TotalHotels / RQ.PageSize; if (remainder > 0) { remainder = 1; } resultList.TotalPage = quotient + remainder; resultList.ZoneHotels = (from ap in SearchZoneProducts[0] select new Zone_ProductMapping { Distance = ap.Distance, IsIncluded = ap.IsIncluded, TLGXCompanyHotelID = ap.TLGXCompanyHotelID, TLGXHotelName = ap.TLGXHotelName, TLGXProductType = ap.TLGXProductType, Unit = ap.Unit }).Skip(RQ.PageSize * RQ.PageNo).Take(RQ.PageSize).ToList(); } else { resultList.TotalPage = 0; resultList.ZoneHotels = new List <Zone_ProductMapping>(); } //End HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, resultList); return(response); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "No zone found")); } } else { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid Reuest Parameters"); return(response); } }