예제 #1
0
 protected void butLogin_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         AdminHelper             adminHelper = new AdminHelper();
         double                  tempPrice;
         double?                 nullPrice = null;
         int                     tempID    = 0;
         CompanyCityPrice        companyCityPriceTemp;
         List <CompanyCityPrice> tempCCPL = new List <CompanyCityPrice>();
         for (int i = 0; i < GridView1.Rows.Count; i++)
         {
             double.TryParse(((TextBox)GridView1.Rows[i].Cells[2].FindControl("txtPrice")).Text, out tempPrice);
             int.TryParse(((HiddenField)GridView1.Rows[i].Cells[2].FindControl("hfID")).Value, out tempID);
             companyCityPriceTemp = CitiesList.Where(xx => xx.CompanyCityPriceID == tempID).FirstOrDefault();
             if (companyCityPriceTemp != null)
             {
                 companyCityPriceTemp.Price = tempPrice > 0 ? tempPrice : nullPrice;
                 tempCCPL.Add(companyCityPriceTemp);
             }
         }
         using (var dc = new LimoEntitiesEntityFremwork())
         {
             List <int> tempIDsList         = tempCCPL.Select(yy => yy.CompanyCityPriceID).ToList();
             List <CompanyCityPrice> dbList =
                 dc.CompanyCityPrices.Where(xx => tempIDsList.Contains(xx.CompanyCityPriceID)).ToList();
             foreach (var companyCityPrice in dbList)
             {
                 CompanyCityPrice tempTemp =
                     tempCCPL.Where(xx => xx.CompanyCityPriceID == companyCityPrice.CompanyCityPriceID).Single();
                 companyCityPrice.Price = tempTemp.Price;
             }
             dc.SaveChanges();
             CitiesList =
                 dc.CompanyCityPrices.Where(
                     xx =>
                     xx.IsActive.HasValue && xx.CompanyID == adminHelper.CompanyObject.CompanyID && xx.IsActive.Value)
                 .ToList
                     ();
             foreach (var companyCityPrice in CitiesList)
             {
                 companyCityPrice.CityName  = companyCityPrice.cities_extended.CityName;
                 companyCityPrice.StateName = companyCityPrice.cities_extended.State.StateName;
             }
         }
         int pageIndex = GridView1.PageIndex;
         GridView1.DataSource = CitiesList;
         GridView1.DataBind();
         GridView1.PageIndex     = pageIndex;
         divConfirmation.Visible = true;
     }
     catch (Exception)
     {
         divError.Visible = true;
     }
 }
예제 #2
0
        private void FillListWithCities()
        {
            string temp = hfLatLon.Value;

            string[] list = temp.Split('&');
            list = list.Distinct().ToArray();
            AdminHelper adminHelper = new AdminHelper();

            if (adminHelper.CompanyObject != null)
            {
                using (var DC = new LimoEntitiesEntityFremwork())
                {
                    Company company = DC.Companies.Where(xx => xx.CompanyID == adminHelper.CompanyObject.CompanyID).ToList()[0];
                    double  distance;
                    company.DistancePerMile = double.TryParse(ddlDistance.SelectedValue, out distance)? distance: 0;
                    var oldCities =
                        DC.CompanyCityPrices.Where(xx => xx.CompanyID == adminHelper.CompanyObject.CompanyID).ToList();
                    var citiesList =
                        DC.cities_extended.Where(
                            ob => list.Contains(ob.latitude.Substring(0, 5) + "," + ob.longitude.Substring(0, 5))).
                        OrderBy(elem => elem.state_code).ToList();
                    if (citiesList.Count > 0)
                    {
                        citiesList = citiesList.DistinctBy(xx => xx.CityStateName).ToList();
                        CompanyCityPrice companycityPrice;
                        foreach (var oldCity in oldCities)
                        {
                            var dummy = citiesList.Where(xx => xx.CityID == oldCity.CityID).ToList().Count;
                            if (dummy > 0)
                            {
                                oldCity.IsActive = true;
                                citiesList.Remove(citiesList.Where(xx => xx.CityID == oldCity.CityID).ToList()[0]);
                            }
                            else
                            {
                                oldCity.IsActive = false;
                            }
                        }
                        foreach (var citiesExtended in citiesList)
                        {
                            companycityPrice = new CompanyCityPrice
                            {
                                CompanyID = adminHelper.CompanyObject.CompanyID,
                                CityID    = citiesExtended.CityID,
                                IsActive  = true
                            };
                            DC.CompanyCityPrices.AddObject(companycityPrice);
                        }
                        DC.SaveChanges();
                        var cityPriceList =
                            DC.CompanyCityPrices.Where(xx => xx.IsActive.HasValue && xx.CompanyID == adminHelper.CompanyObject.CompanyID && xx.IsActive.Value).ToList
                                ();
                        foreach (var companyCityPrice in cityPriceList)
                        {
                            companyCityPrice.CityName  = companyCityPrice.cities_extended.CityName;
                            companyCityPrice.StateName = companyCityPrice.cities_extended.State.StateName;
                        }
                        CitiesList           = cityPriceList;
                        GridView1.DataSource = CitiesList;
                        GridView1.DataBind();
                        adminHelper.CompanyObject = company;
                    }
                }
            }
        }