Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }