Пример #1
0
        public List <UserRequestCriteria> GetAllRequests(int user_id, int pageSize, int pageNumber)
        {
            //OfferQuery offerQuery = new OfferQuery(language);
            OrderQuery orderQuery = new OrderQuery(language);

            System.Data.DataTable Supplier = conn_db.ReadTable(orderQuery.GetSupplierByUserId(user_id));
            int    city_id       = 0;
            int    supplier_type = 0;
            int    supplier_id   = 0;
            double supplier_lat  = 0;
            double supplier_lng  = 0;

            if (Supplier.Rows.Count > 0)
            {
                supplier_id   = Supplier.Rows[0]["ID"] is DBNull ? 0 : Convert.ToInt32(Supplier.Rows[0]["ID"]);
                city_id       = Supplier.Rows[0]["city_id"] is DBNull ? 0 : Convert.ToInt32(Supplier.Rows[0]["city_id"]);
                supplier_type = Supplier.Rows[0]["SUPPLIER_TYPE_ID"] is DBNull ? 0 : Convert.ToInt32(Supplier.Rows[0]["SUPPLIER_TYPE_ID"]);

                supplier_lat = Supplier.Rows[0]["LOCATIONX"] is DBNull ? 0 : Convert.ToDouble(Supplier.Rows[0]["LOCATIONX"].ToString());
                supplier_lng = Supplier.Rows[0]["LOCATIONY"] is DBNull ? 0 : Convert.ToDouble(Supplier.Rows[0]["LOCATIONY"].ToString());
            }



            System.Data.DataTable dataTable = conn_db.ReadTable(orderQuery.GetAllRequests(city_id, supplier_type, supplier_id, pageSize, pageNumber, language));



            if (dataTable.Rows.Count == 0)
            {
                throw new EmptyViewException(language);
            }


            UserRequestCriteria        userRequestCriteria  = new UserRequestCriteria();
            List <UserRequestCriteria> ListRequestCriterias = new List <UserRequestCriteria>();

            foreach (System.Data.DataRow row in dataTable.Rows)
            {
                userRequestCriteria          = new UserRequestCriteria();
                userRequestCriteria.ORDER_ID = row["ORDER_ID"] is DBNull ? 0 : Convert.ToInt32(row["ORDER_ID"]);
                userRequestCriteria.USER_ID  = row["USER_ID"] is DBNull ? 0 : Convert.ToInt32(row["USER_ID"].ToString());
                try
                {
                    userRequestCriteria.ORDERDATE = Convert.ToDateTime(row["ORDERDATE"].ToString()).ToString("dd-MM-yyyy");
                }
                catch (Exception ex)
                {
                    userRequestCriteria.ORDERDATE = "";
                }
                userRequestCriteria.PLATENUMBER    = row["PLATENUMBER"].ToString();
                userRequestCriteria.ORDER_IDENTITY = row["ORDER_IDENTITY"].ToString();
                userRequestCriteria.firstName      = row["FIRSTNAME"].ToString();
                userRequestCriteria.lastName       = row["LASTNAME"].ToString();
                userRequestCriteria.phoneNumber    = row["PHONENUMBER"].ToString();
                userRequestCriteria.ORDERTYPE_ID   = row["ORDERTYPE_ID"] is DBNull ? 0 : Convert.ToInt32(row["ORDERTYPE_ID"]);
                userRequestCriteria.ORDERTYPE_NAME = row["ORDERTYPE_NAME"].ToString();
                userRequestCriteria.VEHICLE_ID     = row["VEHICLE_ID"] is DBNull ? 0 : Convert.ToInt32(row["VEHICLE_ID"]);
                userRequestCriteria.ORDER_STATUS   = row["ORDER_STATUS"] is DBNull ? 0 : Convert.ToInt32(row["ORDER_STATUS"]);
                userRequestCriteria.ISACTIVE       = row["ISACTIVE"] is DBNull ? 1 : Convert.ToInt32(row["ISACTIVE"].ToString());
                userRequestCriteria.OFFERS_COUNT   = row["OFFERS_COUNT"] is DBNull ? 0 : Convert.ToInt32(row["OFFERS_COUNT"].ToString());
                if (language == Messages.language.ar.ToString())
                {
                    userRequestCriteria.BRANDNAME = row["BRANDNAME_AR"].ToString();
                    userRequestCriteria.MODELNAME = row["MODELNAME_AR"].ToString();
                }
                else
                {
                    userRequestCriteria.BRANDNAME = row["BRANDNAME_EN"].ToString();
                    userRequestCriteria.MODELNAME = row["MODELNAME_EN"].ToString();
                }
                userRequestCriteria.carIMAGE  = row["carImage"].ToString();
                userRequestCriteria.userIMAGE = row["userImage"].ToString();
                userRequestCriteria.Note      = row["NOTE"].ToString();
                userRequestCriteria.COLORNAME = row["COLOR_NAME"].ToString();

                userRequestCriteria.lat = row["lat"] is DBNull ? 0 : Convert.ToDouble(row["lat"].ToString());
                userRequestCriteria.lng = row["lng"] is DBNull ? 0 : Convert.ToDouble(row["lng"].ToString());


                if (supplier_lat == 0 || supplier_lng == 0 || userRequestCriteria.lat == 0 || userRequestCriteria.lng == 0)
                {
                    userRequestCriteria.time     = "0";
                    userRequestCriteria.distance = 0;
                }


                else
                {
                    double distanceMiles = Math.Sqrt(
                        Math.Pow((supplier_lat - userRequestCriteria.lat) * 69, 2) +
                        Math.Pow((supplier_lng - userRequestCriteria.lng) * 69.172, 2));
                    userRequestCriteria.distance = Math.Round(distanceMiles * 1.60934, 2);
                    userRequestCriteria.time     = new ServicesRepository(language).getTime(supplier_lat + "," + supplier_lng, userRequestCriteria.lat + "," + userRequestCriteria.lng);
                }


                ListRequestCriterias.Add(userRequestCriteria);
            }
            return(ListRequestCriterias);
        }