Пример #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);
            }
        }
Пример #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);
            }
        }
Пример #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);
            }
        }
Пример #4
0
 public void DeleteLocation(GHLocation location)
 {
     try
     {
         _ilr.Delete(location);
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
     }
 }
Пример #5
0
 public void Delete(GHLocation location)
 {
     try
     {
         db.Entry(location).State = EntityState.Deleted;
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
     }
 }
Пример #6
0
 public void Insert(GHLocation location)
 {
     try
     {
         db.GHLocations.Add(location);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
     }
 }
Пример #7
0
 public void InsertLocation(GHLocation location)
 {
     try
     {
         //RACE CONDITION
         _gs.ProcessGHLocation(location);
         _ilr.Insert(location);
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
     }
 }
Пример #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");
 }
Пример #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());
            }
        }
Пример #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);
            }
        }
Пример #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();
        }
Пример #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());
            }
        }
Пример #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();
                }
            }
        }
Пример #15
0
 public GHLocationListItemAPITransmitModel(GHLocation location)
     : base(location)
 {
 }