Example #1
0
        public HttpResponseMessage Postdormitories_table_translation(PostData2 data)
        {
            int dormitory_typePosted = 1;
            int langIDPosted         = 0;
            var obj = data;

            dormitory_typePosted = obj.dormitory_type;
            langIDPosted         = obj.langId;

            List <string> listDormitories = new List <string>();


            listDormitories.Add("");

            using (var context = new Entities1())
            {
                var dormitories = context.dormitories_table
                                  .Include(dormitory_trans => dormitory_trans.dormitories_table_translation)
                                  .Include(dormitory_room => dormitory_room.room_table)

                                  .ToList();



                context.dormitories_table.Where(d => d.dormitory_type_id == dormitory_typePosted).ToList().ForEach(dorm =>
                {
                    dorm.dormitories_table_translation.Where(r => r.language_id == langIDPosted).ToList().ForEach(dorm_trans =>
                    {
                        listDormitories.Add(dorm_trans.dormitory_name);
                    });
                });
            }



            //   listDormitories.Add("Marmara");
            //listDormitories.Add("Marmara");
            //listDormitories.Add("Marmara");
            //listDormitories.Add("Marmara");
            //listDormitories.Add("Marmara");

            return(new HttpResponseMessage()
            {
                Content = new StringContent(JArray.FromObject(listDormitories).ToString(), Encoding.UTF8, "application/json")
            });
        }
Example #2
0
        public HttpResponseMessage Postroom_facility(PostData2 data)
        {
            string name_of_dormitoryPosted = " ";
            int    dormitory_typePosted    = 1;
            double min_price_of_roomPosted = 0;
            double max_price_of_roomPosted = 10000;
            int    room_areaPostedMin      = 0;
            int    room_areaPostedMax      = 10000;
            int    langIDPosted            = 0;

            string facility_TVPosted          = " ";
            string facility_InternetPosted    = " ";
            string facility_Wc_showerPosted   = " ";
            string facility_KitchenettePosted = " ";
            string facility_bedPosted         = " ";

            string facility_air_conditionPosted = " ";
            string facility_central_acPosted    = " ";
            string facility_refrigeratorPosted  = " ";
            string facility_laundryPosted       = " ";
            string facility_cafeteriaPosted     = " ";
            string facility_room_telPosted      = " ";
            string facility_generatorPosted     = " ";
            string sort_byPosted = " ";

            var obj = data;

            name_of_dormitoryPosted = obj.name_of_dormitory;
            dormitory_typePosted    = obj.dormitory_type;
            min_price_of_roomPosted = obj.min_price_of_room;
            max_price_of_roomPosted = obj.max_price_of_room;
            room_areaPostedMin      = obj.room_areaMin;
            room_areaPostedMax      = obj.room_areaMax;
            langIDPosted            = obj.langId;

            facility_TVPosted          = obj.facility_TV;
            facility_InternetPosted    = obj.facility_Internet;
            facility_Wc_showerPosted   = obj.facility_Wc_shower;
            facility_KitchenettePosted = obj.facility_Kitchenette;
            facility_bedPosted         = obj.facility_bed;
            sort_byPosted = obj.sort_by;
            facility_air_conditionPosted = obj.facility_air_condition;
            facility_central_acPosted    = obj.facility_central_ac;
            facility_refrigeratorPosted  = obj.facility_refrigerator;
            facility_laundryPosted       = obj.facility_laundry;
            facility_cafeteriaPosted     = obj.facility_cafeteria;
            facility_room_telPosted      = obj.facility_room_tel;
            facility_generatorPosted     = obj.facility_generator;


            {
                //    MemoryStream stream = new MemoryStream();
                //     Request.Body.CopyTo(stream);
                //    stream.Position = 0;

                //    using (StreamReader reader = new StreamReader(stream))
                //    {
                //        string requestBody = reader.ReadToEnd();
                //        if (requestBody.Length > 0)
                //        {
                //            var obj = JsonConvert.DeserializeObject<PostData2>(requestBody);
                //            if (obj != null)
                //            {
                //                name_of_dormitoryPosted = obj.name_of_dormitory;
                //                dormitory_typePosted = obj.dormitory_type;
                //                min_price_of_roomPosted = obj.min_price_of_room;
                //                max_price_of_roomPosted = obj.max_price_of_room;
                //                room_areaPosted = obj.room_area;
                //                langIDPosted = obj.langId;

                //                facility_TVPosted = obj.facility_TV;
                //                facility_InternetPosted = obj.facility_Internet;
                //                facility_Wc_showerPosted = obj.facility_Wc_shower;
                //                facility_KitchenettePosted = obj.facility_Kitchenette;
                //                facility_bedPosted = obj.facility_bed;

                //                facility_air_conditionPosted = obj.facility_air_condition;
                //                facility_central_acPosted = obj.facility_central_ac;
                //                facility_refrigeratorPosted = obj.facility_refrigerator;
                //                facility_laundryPosted = obj.facility_laundry;
                //                facility_cafeteriaPosted = obj.facility_cafeteria;
                //                facility_room_telPosted = obj.facility_room_tel;
                //                facility_generatorPosted = obj.facility_generator;



                //            }
                //        }
                //    }
                //}


                List <PostData> arr = new List <PostData>();
                List <string>   tr_acct_num, usd_acct_num;
                List <Facility> faci            = new List <Facility>();
                List <string>   listDormitories = new List <string>();
                List <string>   listRoom        = new List <string>();


                using (var context = new Entities1())
                {
                    var dormitories = context.dormitories_table
                                      .Include(dormitory_trans => dormitory_trans.dormitories_table_translation)
                                      .Include(dormitory_room => dormitory_room.room_table)

                                      .ToList();



                    usd_acct_num = new List <string>();
                    usd_acct_num.Add("Account No: 6820-57259db");
                    usd_acct_num.Add("IBAN: TR04 0006 4000 0026 8200 057259db");

                    context.dormitories_table.ToList().ForEach(dorm =>
                    {
                        dorm.dormitories_table_translation.Where(r => r.language_id == langIDPosted).ToList().ForEach(dorm_trans =>
                        {
                            context.room_table.Where(r => r.dormitory_id == dorm.id).Include(r => r.room_table_translation).Include(r => r.room_facility).ToList().ForEach(room_t =>
                            {
                                room_t.room_table_translation.Where(r => r.language_id == langIDPosted).ToList().ForEach(room_trans =>
                                {
                                    tr_acct_num = new List <string>();
                                    ///  tr_acct_num.Add("Account No: 6820-174392db");
                                    //tr_acct_num.Add("IBAN: TR39 0006 4000 0016 8200 174392db");
                                    usd_acct_num = new List <string>();
                                    string usdd  = "";
                                    string trr   = "";
                                    //usd_acct_num.Add("Account No: 6820-57259db");
                                    //usd_acct_num.Add("IBAN: TR04 0006 4000 0026 8200 057259db");

                                    context.dormitory_bank_account_table.Include(r => r.bank_currency_table).Where(c => c.dormitory_id == room_t.dormitory_id && room_trans.room_table_non_trans_id == room_t.id).ToList().ForEach(dorm_bank_acc =>
                                    {
                                        dorm_bank_acc.bank_currency_table.Where(c => c.currency_name == "USD").ToList().ForEach(bk_curr =>
                                        {
                                            usdd += dorm_bank_acc.bank_name;
                                            context.account_parameter_values.Where(c => c.currency_id == bk_curr.id).Include(c => c.account_parameter_values_translation).ToList().ForEach(acct_param_val =>
                                            {
                                                acct_param_val.account_parameter_values_translation.Where(c => c.language_id == langIDPosted).ToList().ForEach(acc_param_val_trans =>
                                                {
                                                    // acc_param_val_trans.Value;

                                                    context.account_information_parameter.Include(c => c.account_information_parameter_translation).Where(c => c.id == acct_param_val.parameter_id).ToList().ForEach(acc_info_param =>
                                                    {
                                                        acc_info_param.account_information_parameter_translation.Where(c => c.language_id == langIDPosted).ToList().ForEach(acc_info_param_trans =>
                                                        {
                                                            usdd += "<br>" + acc_info_param_trans.parameter + ":" + acc_param_val_trans.value;
                                                            //acc_info_param_trans.Parameter;
                                                        });
                                                    });
                                                });
                                            });

                                            usd_acct_num.Add(usdd);
                                            usdd = "";
                                        });



                                        dorm_bank_acc.bank_currency_table.Where(c => c.currency_name == "TL").ToList().ForEach(bk_curr =>
                                        {
                                            trr += dorm_bank_acc.bank_name;

                                            context.account_parameter_values.Where(c => c.currency_id == bk_curr.id).Include(c => c.account_parameter_values_translation).ToList().ForEach(acct_param_val =>
                                            {
                                                acct_param_val.account_parameter_values_translation.Where(c => c.language_id == langIDPosted).ToList().ForEach(acc_param_val_trans =>
                                                {
                                                    // acc_param_val_trans.Value;

                                                    context.account_information_parameter.Include(c => c.account_information_parameter_translation).Where(c => c.id == acct_param_val.parameter_id).ToList().ForEach(acc_info_param =>
                                                    {
                                                        acc_info_param.account_information_parameter_translation.Where(c => c.language_id == langIDPosted).ToList().ForEach(acc_info_param_trans =>
                                                        {
                                                            trr += "<br>" + acc_info_param_trans.parameter + ":" + acc_param_val_trans.value;
                                                            //acc_info_param_trans.Parameter;
                                                        });
                                                    });
                                                });
                                            });

                                            tr_acct_num.Add(trr);
                                            trr = "";
                                        });
                                    });

                                    faci = new List <Facility>();
                                    //I smell desaster from this part
                                    context.room_facility.Where(r => r.room_id == room_t.id).Include(r => r.facility_table).ToList().ForEach(room_faci =>
                                    {
                                        context.facility_table.Where(r => r.id == room_faci.facility_id).Include(r => r.facility_table_translation).ToList().ForEach(facii =>
                                        {
                                            facii.facility_table_translation.Where(r => r.language_id == langIDPosted).ToList().ForEach(faci_trans =>
                                            {
                                                string facility_o = "";
                                                context.facility_option.Where(r => r.facility_id == room_faci.facility_id && facii.id == room_faci.facility_id)
                                                .Include(r => r.facility_option_translation).ToList().ForEach(faci_op =>
                                                {
                                                    faci_op.facility_option_translation
                                                    .Where(r => r.language_id == langIDPosted && r.facility_option_non_trans_id == room_faci.facility_option_id)

                                                    .ToList().ForEach(faci_op_trans =>
                                                    {
                                                        facility_o += " | " + faci_op_trans.facility_option;
                                                    });
                                                });

                                                faci.Add(new Facility {
                                                    facility_name = faci_trans.facility_title + facility_o, facility_icon_url = facii.facility_icon_url
                                                });
                                            });
                                        });
                                    });



                                    faci.Add(new Facility {
                                        facility_name = "Room Area: " + room_t.room_area + " m" + "<sup style=\"font-size: smaller; \">2</sup>", facility_icon_url = "../../Content/Dormitories_files/room_area.jpg"
                                    });
                                    faci.Add(new Facility {
                                        facility_name = "<b style=\"color:#0ab21b\">Price: " + dorm.room_price_currency + " " + room_t.room_price + "</b>", facility_icon_url = "../../Content/Dormitories_files/price.png"
                                    });



                                    if (langIDPosted == 1)
                                    {
                                        if (room_t.num_rooms_left > 1)
                                        {
                                            faci.Add(new Facility {
                                                facility_name = "<b  onMouseOver=\"this.style.color = '#0F0' onMouseOut = \"this.style.color='#00F'\">Only " + room_t.num_rooms_left + "  rooms left</b>", facility_icon_url = "../../Content/Dormitories_files/image_key.png"
                                            });
                                        }
                                        else
                                        {
                                            faci.Add(new Facility {
                                                facility_name = "<b  onMouseOver=\"this.style.color = '#0F0' onMouseOut = \"this.style.color='#00F'\">Only " + room_t.num_rooms_left + "  room left</b>", facility_icon_url = "../../Content/Dormitories_files/image_key.png"
                                            });
                                        }
                                    }

                                    else

                                    if (room_t.num_rooms_left > 1)
                                    {
                                        faci.Add(new Facility {
                                            facility_name = "<b  onMouseOver=\"this.style.color = '#0F0' onMouseOut = \"this.style.color='#00F'\">Sadece " + room_t.num_rooms_left + "  Oda  kaldı </b>", facility_icon_url = "../../Content/Dormitories_files/image_key.png"
                                        });
                                    }
                                    else
                                    {
                                        faci.Add(new Facility {
                                            facility_name = "<b  onMouseOver=\"this.style.color = '#0F0' onMouseOut = \"this.style.color='#00F'\">Sadece " + room_t.num_rooms_left + " oda kaldı </b>", facility_icon_url = "../../Content/Dormitories_files/image_key.png"
                                        });
                                    }


                                    arr.Add(new PostData
                                    {
                                        name_of_dormitory           = dorm_trans.dormitory_name,
                                        dormitory_address           = dorm_trans.dormitory_address,
                                        name_of_room                = room_trans.room_title + " (" + dorm_trans.gender_allocation + ")",
                                        url_of_room_image           = room_t.room_picture_url,
                                        facility                    = faci,
                                        dormitory_type              = dorm.dormitory_type_id,
                                        price_of_room               = room_t.room_price,
                                        room_area                   = room_t.room_area,
                                        num_rooms_left              = room_t.num_rooms_left,
                                        dormitory_account           = dorm_trans.dormitory_name,
                                        bank_name                   = "bank name",
                                        turkish_lira_account_number = tr_acct_num,
                                        usd_account_number          = usd_acct_num,
                                        dormitory_website           = "dormitory website"
                                    });
                                });
                            });
                        });
                    });
                }
                //tr_acct_num = new List<string>();
                //tr_acct_num.Add("Account No: 6820-174392db");
                //tr_acct_num.Add("IBAN: TR39 0006 4000 0016 8200 174392db");

                //usd_acct_num = new List<string>();
                //usd_acct_num.Add("Account No: 6820-57259db");
                //usd_acct_num.Add("IBAN: TR04 0006 4000 0026 8200 057259db");

                //faci = new List<Facility>();
                //faci.Add(new Facility { facility_name = "buckets", facility_icon_url = "./Dormitories_files/thumbnail(3).png" });
                //faci.Add(new Facility { facility_name = "broom", facility_icon_url = "./Dormitories_files/thumbnail(3).png" });
                //faci.Add(new Facility { facility_name = "broom", facility_icon_url = "./Dormitories_files/thumbnail(5).png" });
                //faci.Add(new Facility { facility_name = "broom", facility_icon_url = "./Dormitories_files/thumbnail(4).png" });
                //faci.Add(new Facility { facility_name = "broom", facility_icon_url = "./Dormitories_files/thumbnail(4).png" });

                //arr.Add(new PostData
                //{
                //    name_of_dormitory = "Sample dormitory",
                //    name_of_room = "Sample room",
                //    url_of_room_image = "https://dormitories.emu.edu.tr/PhotoGalleries/dormitories/popart/TEK%20K%C4%B0%C5%9E%C4%B0L%C4%B0K%20EXCLUS%C4%B0VE.jpg?RenditionID=7",
                //    facility = faci,
                //    room_area = 25,
                //    dormitory_type = 1,
                //    dormitory_account = "dormitory_account",
                //    bank_name = "bank name",
                //    price_of_room = 2700,
                //    turkish_lira_account_number = tr_acct_num,
                //    usd_account_number = usd_acct_num,
                //    dormitory_website = "dormitory website"
                //});

                //var faci_query = from Facility f in arr
                //                 where (f.facility_name.Contains("TV"))
                //                 select f;
                //var query = from PostData s in arr
                //            where (s.facility.
                //            select s;

                //var query = from s in arr
                //            where s.Facility.Any(c => c.facility_name.contains("TV"))
                //            select s;

                //  PostData query = arr.fin
                ArrayList sa = new ArrayList();
                //sa.Add("Kitchenette | Flats");
                //sa.Add("TV | In room");
                //sa.Add("Central conditioning system | Cooling");

                sa.Add(facility_TVPosted);
                sa.Add(facility_InternetPosted);
                sa.Add(facility_Wc_showerPosted);
                sa.Add(facility_KitchenettePosted);
                sa.Add(facility_bedPosted);

                sa.Add(facility_air_conditionPosted);
                sa.Add(facility_central_acPosted);
                sa.Add(facility_refrigeratorPosted);
                sa.Add(facility_laundryPosted);
                sa.Add(facility_cafeteriaPosted);
                sa.Add(facility_room_telPosted);
                sa.Add(facility_generatorPosted);

                //string name_of_dormitoryPosted = " ";



                var query = arr;

                if (room_areaPostedMin == 0)
                {
                    if (dormitory_typePosted == 0)
                    {
                        foreach (var q in sa)
                        {
                            query = query
                                    .Where(item =>
                                           item.name_of_dormitory.Contains(name_of_dormitoryPosted) &&


                                           item.price_of_room >= min_price_of_roomPosted && item.price_of_room <= max_price_of_roomPosted &&
                                           item.facility.Any(fac => fac.facility_name.Contains(q.ToString())))
                                    .ToList();
                        }
                    }
                    else
                    {
                        foreach (var q in sa)
                        {
                            query = query
                                    .Where(item =>
                                           item.name_of_dormitory.Contains(name_of_dormitoryPosted) &&
                                           item.dormitory_type == dormitory_typePosted &&

                                           item.price_of_room >= min_price_of_roomPosted && item.price_of_room <= max_price_of_roomPosted &&
                                           item.facility.Any(fac => fac.facility_name.Contains(q.ToString())))
                                    .ToList();
                        }
                    }
                }
                else
                {
                    if (dormitory_typePosted == 0)
                    {
                        foreach (var q in sa)
                        {
                            query = query
                                    .Where(item =>
                                           item.name_of_dormitory.Contains(name_of_dormitoryPosted) &&

                                           item.room_area >= room_areaPostedMin && item.room_area <= room_areaPostedMax &&
                                           item.price_of_room >= min_price_of_roomPosted && item.price_of_room <= max_price_of_roomPosted &&
                                           item.facility.Any(fac => fac.facility_name.Contains(q.ToString())))
                                    .ToList();
                        }
                    }
                    else
                    {
                        foreach (var q in sa)
                        {
                            query = query
                                    .Where(item =>
                                           item.name_of_dormitory.Contains(name_of_dormitoryPosted) &&
                                           item.dormitory_type == dormitory_typePosted &&
                                           item.room_area >= room_areaPostedMin && item.room_area <= room_areaPostedMax &&
                                           item.price_of_room >= min_price_of_roomPosted && item.price_of_room <= max_price_of_roomPosted &&
                                           item.facility.Any(fac => fac.facility_name.Contains(q.ToString())))
                                    .ToList();
                        }
                    }
                }



                if (sort_byPosted == "Price")
                {
                    query = query.OrderBy(s => s.price_of_room).ToList();
                }
                else if (sort_byPosted == "a-z")
                {
                    query = query.OrderBy(s => s.name_of_dormitory).ToList();
                }
                else if (sort_byPosted == "area")
                {
                    query = query.OrderBy(s => s.room_area).ToList();
                }



                //return new JsonResult(query);



                //   return CreatedAtRoute("DefaultApi", new { id = data.room_area }, query);

                return(new HttpResponseMessage()
                {
                    Content = new StringContent(JArray.FromObject(query).ToString(), Encoding.UTF8, "application/json")
                });
            }
        }