コード例 #1
0
        [Route("rest/getBusiness/{idOwner}")] //public REST servis, ako neko bas hoce, moze i iz browsera da pretrazuje kompanije, visak vidljivosti njima ne smeta

        public IHttpActionResult getBusiness(int idOwner)
        {
            using (var context = new EntityFrameworkModels.birdtouchEntities2())
            {
                var ResultSetBusinessInfo = (from s in context.business_info

                                             where s.id_business_owner == idOwner
                                             select new Business()
                {
                    Adress = s.adress,
                    CompanyName = s.companyname,
                    Email = s.email,
                    IdBusinessOwner = s.id_business_owner,
                    PhoneNumber = s.phonenumber,
                    Website = s.website,
                    ProfilePictureData = s.profilepicturedata
                });

                var businessInfo = ResultSetBusinessInfo.FirstOrDefault <Business>();

                if (businessInfo != null)
                {
                    BusinessEncoded businessEncoded = new BusinessEncoded()
                    {
                        Website         = businessInfo.Website,
                        Adress          = businessInfo.Adress,
                        CompanyName     = businessInfo.CompanyName,
                        Email           = businessInfo.Email,
                        IdBusinessOwner = businessInfo.IdBusinessOwner,
                        PhoneNumber     = businessInfo.PhoneNumber,
                    };

                    if (businessInfo.ProfilePictureData != null)
                    {
                        businessEncoded.ProfilePictureDataEncoded = Convert.ToBase64String(businessInfo.ProfilePictureData);
                    }

                    return(Ok(businessEncoded));//  String serialized = Newtonsoft.Json.JsonConvert.SerializeObject(userEncoded);
                }
            }

            return(NotFound());
        }
コード例 #2
0
        public IHttpActionResult getBusinessUsersNearMe()

        {
            IEnumerable <string> headerValues;

            headerValues = Request.Headers.GetValues("id");
            String id  = headerValues.FirstOrDefault();
            int    id5 = Int32.Parse(id);


            //mozda da se napravi jos jedan parametar za radijus

            decimal?mineLongitude = 0;
            decimal?mineLatitude  = 0;


            using (var context = new EntityFrameworkModels.birdtouchEntities2())
            {
                var me = context.active_users.SingleOrDefault(x => x.user_id == id5 && x.active_mode == 2);
                mineLatitude  = me.location_latitude;
                mineLongitude = me.location_longitude;

                //sada imamo moju lokaciju iz baze


                List <int?> listOfUsersIdAroundMe = new List <int?>();


                foreach (var active_user in context.active_users)
                {
                    if (active_user.user_id != id5 && active_user.active_mode == 2)
                    { //da ne uporedjujemo sa samim sobom
                        double distance = new Coordinates((double)mineLatitude, (double)mineLongitude)
                                          .DistanceTo(
                            new Coordinates((double)active_user.location_latitude, (double)active_user.location_longitude),
                            UnitOfLength.Kilometers
                            );

                        if (distance < 1.5)
                        {
                            listOfUsersIdAroundMe.Add(active_user.user_id);
                        }
                    }
                }



                var tempResult = context.business_info.Where(x => listOfUsersIdAroundMe.Contains(x.id_business_owner)).ToList <EntityFrameworkModels.business_info>();


                //ovaj deo koji sledi mozda nije potreban, treba ispitati da li moze bez ovog encoded dela, ali ovako je jasnije
                //takodje username ostaje null zbog zastite

                List <BusinessEncoded> result = new List <BusinessEncoded>();

                foreach (var item in tempResult)
                {
                    BusinessEncoded businessEncoded = new BusinessEncoded()
                    {
                        CompanyName     = item.companyname,
                        IdBusinessOwner = item.id_business_owner,
                        Website         = item.website,
                        Adress          = item.adress,
                        Email           = item.email,
                        PhoneNumber     = item.phonenumber
                    };
                    if (item.profilepicturedata != null)
                    {
                        businessEncoded.ProfilePictureDataEncoded = Convert.ToBase64String(item.profilepicturedata);
                    }


                    result.Add(businessEncoded);
                }

                return(Ok(result));
            }
        }