Example #1
0
        public async Task ProcessGHLocation(GHLocation location)
        {
            try
            {
                var gc = new GeoCoord();

                if (location.Latitude != null && location.Longitude != null)
                {
                    gc = await ReverseLookup((double)location.Latitude, (double)location.Longitude);

                    location.AddressLine   = gc.StreetNumber + " " + gc.Route + ((string.IsNullOrEmpty(gc.UnitNumber)) ? string.Empty : " #" + gc.UnitNumber);
                    location.City          = gc.City;
                    location.State         = gc.State;
                    location.ZipPostalCode = gc.ZipPostalCode;
                }
                else
                {
                    gc = await Lookup(location.AddressLine + ", " + location.City + ", " + location.State + " " + location.ZipPostalCode);

                    location.Latitude  = gc.Latitude;
                    location.Longitude = gc.Longitude;
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
            }
        }
Example #2
0
        public void UpdateLocation(GHLocation location, HttpPostedFileBase image)
        {
            try
            {
                var l = _ilr.Find(location.GHLocationID);
                if (l == null)
                {
                    return;
                }

                l.SetAllEditedProperties(location);

                if (image != null)
                {
                    var arr = new byte[image.ContentLength];
                    image.InputStream.Read(arr, 0, image.ContentLength);
                    l.Image = arr;
                }

                _ilr.Update(l);
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
            }
        }
Example #3
0
        public bool SaveLocation(GHLocation location, HttpPostedFileBase image, int userId)
        {
            try
            {
                var user = UserHelper.Instance.CurrentUser;
                if (user != null)
                {
                    location.CreatedByUserID = user.UserId;

                    //RACE CONDITION
                    _gs.ProcessGHLocation(location);

                    if (image != null)
                    {
                        var arr = new byte[image.ContentLength];
                        image.InputStream.Read(arr, 0, image.ContentLength);
                        location.Image = arr;
                    }

                    _ilr.Insert(location);

                    return(true);
                }

                return(false);
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
                return(false);
            }
        }
Example #4
0
 public void DeleteLocation(GHLocation location)
 {
     try
     {
         _ilr.Delete(location);
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
     }
 }
Example #5
0
 public void Delete(GHLocation location)
 {
     try
     {
         db.Entry(location).State = EntityState.Deleted;
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
     }
 }
Example #6
0
 public void Insert(GHLocation location)
 {
     try
     {
         db.GHLocations.Add(location);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
     }
 }
Example #7
0
 public void InsertLocation(GHLocation location)
 {
     try
     {
         //RACE CONDITION
         _gs.ProcessGHLocation(location);
         _ilr.Insert(location);
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
     }
 }
Example #8
0
 public ActionResult Create()
 {
     try
     {
         var location = new GHLocation();
         location.State = "Alabama";
         return(View(location));
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
         return(HttpNotFound());
     }
 }
 public GHLocationTransmitModel(GHLocation location)
 {
     GHLocationID     = location.GHLocationID;
     DateCreated      = location.DateCreated.ToString("o");
     Flags            = location.Flags;
     Title            = location.Title;
     Text             = location.Text;
     Altitude         = location.Altitude;
     Latitude         = location.Latitude;
     Longitude        = location.Longitude;
     CreatedByUserID  = location.CreatedByUserID;
     SoundsCount      = location.Sounds.Count();
     ImagesCount      = location.Images.Count();
     VideosCount      = location.Videos.Count();
     TextsCount       = location.Texts.Count();
     DateLastModified = location.DateLastModified.ToString("o");
 }
Example #10
0
        public ActionResult Create([Bind(Exclude = "Image")] GHLocation location, HttpPostedFileBase image)
        {
            try
            {
                var success = db.SaveLocation(location, image, UserHelper.Instance.CurrentUserId);

                if (success)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                return(View(location));
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
                return(HttpNotFound());
            }
        }
Example #11
0
        public void Update(GHLocation location)
        {
            try
            {
                if (CacheHelper <GHLocationTransmitModel> .Initialized &&
                    CacheHelper <GHLocationTransmitModel> .Instance.ContainsKey(location.GHLocationID.ToString()))
                {
                    CacheHelper <GHLocationTransmitModel> .Instance.RemoveCacheable(location.GHLocationID.ToString());
                }

                location.DateLastModified = DateTime.UtcNow;
                db.Entry(location).State  = EntityState.Modified;
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
            }
        }
Example #12
0
        public GHLocationListItemTransmitModel(GHLocation location)
        {
            GHLocationID    = location.GHLocationID;
            DateCreated     = location.DateCreated;
            Flags           = location.Flags;
            Title           = location.Title;
            Text            = location.Text;
            Altitude        = location.Altitude;
            Latitude        = location.Latitude;
            Longitude       = location.Longitude;
            CreatedByUserID = location.CreatedByUserID;
            ImageCaption    = location.ImageCaption;
            AddressLine     = location.AddressLine;
            City            = location.City;
            State           = location.State;
            ZipPostalCode   = location.ZipPostalCode;

            SoundsCount = location.Sounds.Count();
            ImagesCount = location.Images.Count();
            TextsCount  = location.Texts.Count();
        }
Example #13
0
        public ActionResult Edit([Bind(Exclude = "Image")] GHLocation location, HttpPostedFileBase image)
        {
            try
            {
                var oldLocation = db.FindLocation(location.GHLocationID);

                if (oldLocation.CreatedByUserID != UserHelper.Instance.CurrentUserId)
                {
                    return(new HttpStatusCodeResult(405, "Unauthorized location edit"));
                }

                db.Dispose();

                db.UpdateLocation(location, image);
                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
                return(HttpNotFound());
            }
        }
Example #14
0
        private void SeedGHLocations()
        {
            FileStream fs = null;

            try
            {
                fs = File.OpenRead(@"C:\Users\user\Dropbox\Cloud\Projects\Ghosts\SeedData\test_location.jpg");

                var temp = System.Drawing.Image.FromStream(fs);
                var ms   = new MemoryStream();
                temp.Save(ms, ImageFormat.Png);
                var data = ms.ToArray();

                var user = db.UserProfiles.Find(1);

                var location = new GHLocation();
                location.Image           = data;
                location.ImageCaption    = "Test Caption";
                location.Title           = "My House";
                location.Altitude        = 1276.7;
                location.Latitude        = 40.769119;
                location.Longitude       = -111.859180;
                location.CreatedByUserID = 1;
                location.Text            =
                    "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque aliquet, mi id tempor pulvinar, lacus arcu bibendum ipsum, in dictum massa mauris nec urna. Ut vestibulum iaculis leo ut fringilla. Quisque varius bibendum felis id commodo. Proin orci ipsum, porttitor nec tortor et, faucibus facilisis diam. Nulla lacinia, nibh in cursus interdum, lacus mauris dignissim risus, elementum luctus ante erat commodo leo. Nullam volutpat turpis ligula, quis pellentesque enim tincidunt vitae. Vestibulum et mi vitae justo ornare lobortis." +
                    "Maecenas et nunc sit amet quam porttitor feugiat. Duis ultricies, justo vel pharetra placerat, velit dui porttitor magna, non imperdiet augue libero eu neque. Etiam tempor nisi vitae lacus pulvinar facilisis. Proin ut posuere nibh. Suspendisse ac est posuere, convallis justo eu, venenatis odio. Integer scelerisque justo id erat feugiat interdum. Praesent auctor fermentum odio ut pretium." +
                    "Maecenas malesuada vulputate mi, vitae pharetra arcu rhoncus ut. Quisque accumsan dapibus ante in porta. Nullam vel rhoncus neque. Proin tincidunt pellentesque felis vitae posuere. Phasellus elementum pharetra dolor nec scelerisque. Curabitur id lorem hendrerit, sodales nisl volutpat, suscipit augue. Aliquam laoreet tellus a tristique feugiat. Morbi pharetra mi et diam euismod congue. Fusce sed consequat justo. Ut elit turpis, auctor varius diam sit amet, pharetra molestie dui. Sed quis suscipit felis.";
                user.GHLocations.Add(location);

                location                 = new GHLocation();
                location.Image           = data;
                location.ImageCaption    = "Test Caption";
                location.Title           = "Wal Mart";
                location.Altitude        = 1276.7;
                location.Latitude        = 40.625304;
                location.Longitude       = -111.99504688;
                location.CreatedByUserID = 1;
                location.Text            =
                    "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque aliquet, mi id tempor pulvinar, lacus arcu bibendum ipsum, in dictum massa mauris nec urna. Ut vestibulum iaculis leo ut fringilla. Quisque varius bibendum felis id commodo. Proin orci ipsum, porttitor nec tortor et, faucibus facilisis diam. Nulla lacinia, nibh in cursus interdum, lacus mauris dignissim risus, elementum luctus ante erat commodo leo. Nullam volutpat turpis ligula, quis pellentesque enim tincidunt vitae. Vestibulum et mi vitae justo ornare lobortis." +
                    "Maecenas et nunc sit amet quam porttitor feugiat. Duis ultricies, justo vel pharetra placerat, velit dui porttitor magna, non imperdiet augue libero eu neque. Etiam tempor nisi vitae lacus pulvinar facilisis. Proin ut posuere nibh. Suspendisse ac est posuere, convallis justo eu, venenatis odio. Integer scelerisque justo id erat feugiat interdum. Praesent auctor fermentum odio ut pretium." +
                    "Maecenas malesuada vulputate mi, vitae pharetra arcu rhoncus ut. Quisque accumsan dapibus ante in porta. Nullam vel rhoncus neque. Proin tincidunt pellentesque felis vitae posuere. Phasellus elementum pharetra dolor nec scelerisque. Curabitur id lorem hendrerit, sodales nisl volutpat, suscipit augue. Aliquam laoreet tellus a tristique feugiat. Morbi pharetra mi et diam euismod congue. Fusce sed consequat justo. Ut elit turpis, auctor varius diam sit amet, pharetra molestie dui. Sed quis suscipit felis.";
                user.GHLocations.Add(location);

                location                 = new GHLocation();
                location.Image           = data;
                location.ImageCaption    = "Test Caption";
                location.Title           = "Target";
                location.Altitude        = 1276.7;
                location.Latitude        = 40.623457;
                location.Longitude       = -111.851171;
                location.CreatedByUserID = 1;
                location.Text            =
                    "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque aliquet, mi id tempor pulvinar, lacus arcu bibendum ipsum, in dictum massa mauris nec urna. Ut vestibulum iaculis leo ut fringilla. Quisque varius bibendum felis id commodo. Proin orci ipsum, porttitor nec tortor et, faucibus facilisis diam. Nulla lacinia, nibh in cursus interdum, lacus mauris dignissim risus, elementum luctus ante erat commodo leo. Nullam volutpat turpis ligula, quis pellentesque enim tincidunt vitae. Vestibulum et mi vitae justo ornare lobortis." +
                    "Maecenas et nunc sit amet quam porttitor feugiat. Duis ultricies, justo vel pharetra placerat, velit dui porttitor magna, non imperdiet augue libero eu neque. Etiam tempor nisi vitae lacus pulvinar facilisis. Proin ut posuere nibh. Suspendisse ac est posuere, convallis justo eu, venenatis odio. Integer scelerisque justo id erat feugiat interdum. Praesent auctor fermentum odio ut pretium." +
                    "Maecenas malesuada vulputate mi, vitae pharetra arcu rhoncus ut. Quisque accumsan dapibus ante in porta. Nullam vel rhoncus neque. Proin tincidunt pellentesque felis vitae posuere. Phasellus elementum pharetra dolor nec scelerisque. Curabitur id lorem hendrerit, sodales nisl volutpat, suscipit augue. Aliquam laoreet tellus a tristique feugiat. Morbi pharetra mi et diam euismod congue. Fusce sed consequat justo. Ut elit turpis, auctor varius diam sit amet, pharetra molestie dui. Sed quis suscipit felis.";
                user.GHLocations.Add(location);

                location                 = new GHLocation();
                location.Image           = data;
                location.ImageCaption    = "Test Caption";
                location.Title           = "Taco Bell";
                location.Altitude        = 1276.7;
                location.Latitude        = 40.623457;
                location.Longitude       = -111.835058;
                location.CreatedByUserID = 1;
                location.Text            =
                    "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque aliquet, mi id tempor pulvinar, lacus arcu bibendum ipsum, in dictum massa mauris nec urna. Ut vestibulum iaculis leo ut fringilla. Quisque varius bibendum felis id commodo. Proin orci ipsum, porttitor nec tortor et, faucibus facilisis diam. Nulla lacinia, nibh in cursus interdum, lacus mauris dignissim risus, elementum luctus ante erat commodo leo. Nullam volutpat turpis ligula, quis pellentesque enim tincidunt vitae. Vestibulum et mi vitae justo ornare lobortis." +
                    "Maecenas et nunc sit amet quam porttitor feugiat. Duis ultricies, justo vel pharetra placerat, velit dui porttitor magna, non imperdiet augue libero eu neque. Etiam tempor nisi vitae lacus pulvinar facilisis. Proin ut posuere nibh. Suspendisse ac est posuere, convallis justo eu, venenatis odio. Integer scelerisque justo id erat feugiat interdum. Praesent auctor fermentum odio ut pretium." +
                    "Maecenas malesuada vulputate mi, vitae pharetra arcu rhoncus ut. Quisque accumsan dapibus ante in porta. Nullam vel rhoncus neque. Proin tincidunt pellentesque felis vitae posuere. Phasellus elementum pharetra dolor nec scelerisque. Curabitur id lorem hendrerit, sodales nisl volutpat, suscipit augue. Aliquam laoreet tellus a tristique feugiat. Morbi pharetra mi et diam euismod congue. Fusce sed consequat justo. Ut elit turpis, auctor varius diam sit amet, pharetra molestie dui. Sed quis suscipit felis.";
                user.GHLocations.Add(location);

                user = db.UserProfiles.Find(3);

                location                 = new GHLocation();
                location.Image           = data;
                location.ImageCaption    = "Test Caption 2";
                location.Title           = "Empire State Building";
                location.Latitude        = 40.67206;
                location.Longitude       = -73.983898;
                location.CreatedByUserID = 3;
                user.GHLocations.Add(location);

                user = db.UserProfiles.Find(2);

                location                 = new GHLocation();
                location.Image           = data;
                location.ImageCaption    = "Test Caption 3";
                location.Title           = "Sinclair Gas Station";
                location.Latitude        = 41.180481;
                location.Longitude       = -111.995202;
                location.CreatedByUserID = 2;
                location.Text            =
                    "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque aliquet, mi id tempor pulvinar, lacus arcu bibendum ipsum, in dictum massa mauris nec urna. Ut vestibulum iaculis leo ut fringilla. Quisque varius bibendum felis id commodo. Proin orci ipsum, porttitor nec tortor et, faucibus facilisis diam. Nulla lacinia, nibh in cursus interdum, lacus mauris dignissim risus, elementum luctus ante erat commodo leo. Nullam volutpat turpis ligula, quis pellentesque enim tincidunt vitae. Vestibulum et mi vitae justo ornare lobortis." +
                    "Maecenas et nunc sit amet quam porttitor feugiat. Duis ultricies, justo vel pharetra placerat, velit dui porttitor magna, non imperdiet augue libero eu neque. Etiam tempor nisi vitae lacus pulvinar facilisis. Proin ut posuere nibh. Suspendisse ac est posuere, convallis justo eu, venenatis odio. Integer scelerisque justo id erat feugiat interdum. Praesent auctor fermentum odio ut pretium." +
                    "Maecenas malesuada vulputate mi, vitae pharetra arcu rhoncus ut. Quisque accumsan dapibus ante in porta. Nullam vel rhoncus neque. Proin tincidunt pellentesque felis vitae posuere. Phasellus elementum pharetra dolor nec scelerisque. Curabitur id lorem hendrerit, sodales nisl volutpat, suscipit augue. Aliquam laoreet tellus a tristique feugiat. Morbi pharetra mi et diam euismod congue. Fusce sed consequat justo. Ut elit turpis, auctor varius diam sit amet, pharetra molestie dui. Sed quis suscipit felis.";
                user.GHLocations.Add(location);
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                    fs.Dispose();
                }
            }
        }
Example #15
0
 public GHLocationListItemAPITransmitModel(GHLocation location)
     : base(location)
 {
 }