public AddVisitorSuccessModel AddVisitor(AddVisitorModel visitorData) { var addVisitorSuccess = new AddVisitorSuccessModel(); try { using (OggleBoobleMySqContext db = new OggleBoobleMySqContext()) { CategoryFolder categoryFolder = db.CategoryFolders.Where(f => f.Id == visitorData.PageId).FirstOrDefault(); if (categoryFolder != null) { addVisitorSuccess.PageName = categoryFolder.FolderName; } var existingVisitor = db.Visitors.Where(v => v.IpAddress == visitorData.IpAddress).FirstOrDefault(); if (existingVisitor != null) { addVisitorSuccess.VisitorId = existingVisitor.VisitorId; addVisitorSuccess.IsNewVisitor = false; } else { // We have a new visitor! //string dnsHostName = Dns.GetHostName(); //IPHostEntry ipEntry = Dns.GetHostEntry(dnsHostName); //IPAddress[] iPAddresses = ipEntry.AddressList; //string ipAddress = iPAddresses[iPAddresses.Length - 1].ToString(); string newVisitorId = Guid.NewGuid().ToString(); Visitor newVisitor = new Visitor() { VisitorId = newVisitorId, InitialPage = visitorData.PageId, City = visitorData.City, Country = visitorData.Country, GeoCode = visitorData.GeoCode, Region = visitorData.Region, InitialVisit = DateTime.Now, IpAddress = visitorData.IpAddress }; db.Visitors.Add(newVisitor); db.SaveChanges(); addVisitorSuccess.VisitorId = newVisitorId; addVisitorSuccess.IsNewVisitor = true; } addVisitorSuccess.Success = "ok"; } } catch (Exception ex) { addVisitorSuccess.Success = Helpers.ErrorDetails(ex); } return(addVisitorSuccess); }
public SuccessModel UpdateVisitor(AddVisitorModel visitorData) { var successModel = new SuccessModel(); try { using (var db = new OggleBoobleMySqlContext()) { Visitor dbVisitor = db.Visitors.Where(v => v.VisitorId == visitorData.VisitorId).FirstOrDefault(); if (dbVisitor == null) { successModel.ReturnValue = "not found"; } else { successModel.ReturnValue = "ok"; dbVisitor.City = visitorData.City; dbVisitor.IpAddress = visitorData.IpAddress; dbVisitor.Country = visitorData.Country; dbVisitor.GeoCode = visitorData.GeoCode; dbVisitor.Region = visitorData.Region; if (dbVisitor.InitialPage == 0) { dbVisitor.InitialPage = visitorData.InitialPage; } db.SaveChanges(); } successModel.Success = "ok"; } } catch (Exception ex) { successModel.Success = Helpers.ErrorDetails(ex); } return(successModel); }