예제 #1
0
    private void InsertData(DataTable dt)
    {
        int UpdateCount = 0, InsertCount = 0;

        try
        {
            var lstInsertSA = new List <ServiceAvailability>();
            var lstUpdateSA = new List <ServiceAvailability>();
            var lstDeleteSA = new List <ServiceAvailability>();

            int CourierId = ddlCourierExcel.zToInt().Value;

            int  CountryId  = CU.GetCountryId("India");
            bool IsValidate = false;

            DataTable dtServiceAvailibility = new Query()
            {
                CourierId  = CourierId,
                eStatusNot = (int)eStatus.Delete
            }.Select(eSP.qry_ServiceAvailability);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                #region Value Initialization

                PincodeCol       = dt.Rows[i][PincodeColNo].ToString().Trim().TrimEnd(',');
                CityCol          = dt.Rows[i][CityColNo].ToString().Trim().TrimEnd(',');
                StateCol         = dt.Rows[i][StateColNo].ToString().Trim().TrimEnd(',');
                PrepaidCol       = dt.Rows[i][PrepaidColNo].ToString().Trim().TrimEnd(',').ToLower();
                CODCol           = dt.Rows[i][CODColNo].ToString().Trim().TrimEnd(',').ToLower();
                ReversePickupCol = dt.Rows[i][ReversePickupColNo].ToString().Trim().TrimEnd(',').ToLower();
                PickupCol        = dt.Rows[i][PickupColNo].ToString().Trim().TrimEnd(',').ToLower();

                #endregion

                int StateId = CU.GetStateId(CountryId, StateCol);
                int CityId  = CU.GetCityId(StateId, CityCol);

                var drServiceAvailibility = dtServiceAvailibility.Select(CS.Pincode + " = '" + PincodeCol + "'");

                var objServiceAvailability = new ServiceAvailability()
                {
                    ServiceAvailabilityId = drServiceAvailibility.Length > 0 ? drServiceAvailibility[0][CS.ServiceAvailabilityId].zToInt() : (int?)null,
                    CourierId             = CourierId,
                    Pincode        = PincodeCol,
                    CityId         = CityId,
                    ePrepaid       = (int)GeteYesNo(PrepaidCol, ref IsValidate),
                    eCOD           = (int)GeteYesNo(CODCol, ref IsValidate),
                    eReversePickup = (int)GeteYesNo(ReversePickupCol, ref IsValidate),
                    ePickup        = (int)GeteYesNo(PickupCol, ref IsValidate),
                };

                if (objServiceAvailability.ServiceAvailabilityId.HasValue)
                {
                    lstUpdateSA.Add(objServiceAvailability);
                    if (lstUpdateSA.Count >= 250)
                    {
                        lstUpdateSA.Update();
                        lstUpdateSA = new List <ServiceAvailability>();
                    }

                    UpdateCount++;
                }
                else
                {
                    objServiceAvailability.eStatus = (int)eStatus.Active;
                    lstInsertSA.Add(objServiceAvailability);
                    if (lstInsertSA.Count >= 250)
                    {
                        lstInsertSA.Insert();
                        lstInsertSA = new List <ServiceAvailability>();
                    }

                    InsertCount++;
                }
            }

            foreach (DataRow dr in dtServiceAvailibility.Rows)
            {
                lstDeleteSA.Add(new ServiceAvailability()
                {
                    ServiceAvailabilityId = dr[CS.ServiceAvailabilityId].zToInt()
                });
                if (lstDeleteSA.Count >= 250)
                {
                    lstDeleteSA.Delete();
                    lstDeleteSA = new List <ServiceAvailability>();
                }
            }

            lstUpdateSA.Update();
            lstInsertSA.Insert();
            lstDeleteSA.Delete();

            CU.SetSuccessExcelMessage(InsertCount, UpdateCount, "Service");
        }
        catch (Exception ex)
        {
            CU.ZMessage(eMsgType.Error, string.Empty, ex.Message, 0);
        }

        LoadServiceGrid(ePageIndex.Custom);
    }
예제 #2
0
    public int SaveAddress(int?AddressId)
    {
        bool LoadMap = IsLoadMap();

        var objAddress = new Address()
        {
            Address1 = RemoveLastComma(txtAddress1.Text).zFirstCharToUpper(),
            Address2 = RemoveLastComma(txtAddress2.Text).zFirstCharToUpper(),
            Pincode  = LoadMap ? txtPincodeMap.Text : txtPincode.Text,

            Latitude  = txtLatitude.Text,
            Longitude = txtLongitude.Text,
        };

        if (LoadMap)
        {
            objAddress.CountryId = CU.GetCountryId(txtCountryMap.Text);
            objAddress.StateId   = CU.GetStateId(objAddress.CountryId, txtStateMap.Text);
            objAddress.CityId    = CU.GetCityId(objAddress.StateId, txtCityMap.Text);
            objAddress.AreaId    = CU.GetAreaId(objAddress.CityId, txtAreaMap.Text, objAddress.Pincode);
        }
        else
        {
            #region Set Country Value

            if (chkCountry.Checked)
            {
                objAddress.CountryId = CU.GetCountryId(txtOtherCountry.Text);
            }
            else
            {
                objAddress.CountryId = ddlCountry.zToInt();
            }

            #endregion Set Country Value

            #region Set State Value

            if (chkState.Checked)
            {
                objAddress.StateId = CU.GetStateId(objAddress.CountryId, txtOtherState.Text);
            }
            else
            {
                objAddress.StateId = ddlState.zToInt();
            }

            #endregion Set State Value

            #region Set City Value

            if (chkCity.Checked)
            {
                objAddress.CityId = CU.GetCityId(objAddress.StateId, txtOtherCity.Text);
            }
            else
            {
                objAddress.CityId = ddlCity.zToInt();
            }

            #endregion Set City Value

            #region Set Area Value

            if (chkArea.Checked)
            {
                objAddress.AreaId = CU.GetAreaId(objAddress.CityId, txtOtherArea.Text, txtPincode.Text);
            }
            else
            {
                objAddress.AreaId = ddlArea.zToInt();
            }

            #endregion Set Area Value
        }

        if (AddressId.HasValue && AddressId != 0)
        {
            objAddress.AddressId = AddressId;
            objAddress.UpdateAsync();
        }
        else
        {
            AddressId = objAddress.Insert();
        }

        return(AddressId.Value);
    }