Example #1
0
        public bool SendNewPassword(string key, string email)
        {
            if (!IsAuthValid(key))
            {
                return(false);
            }

            ServiceDataContext db = new ServiceDataContext();

            email = email.ToLower();

            var result = db.CRM_Persons.ToList().FirstOrDefault(c => !c.IsArchived && c.PrimaryEmail.ToLower() == email);

            if (result != null)
            {
                // reset code //

                result.TempCode = Code.Models.CRM_Person.GeneratePassword();

                db.SubmitChanges();

                // send email //

                var emailManager = new EmailManager(result.PrimaryEmail);

                emailManager.SendNewPassword(result.Firstname, result.PrimaryEmail, result.TempCode);
            }

            return(true);
        }
 public async Task AddInvokesAsync(InvokeInfo[] invokes)
 {
     if (invokes?.Length == 0)
     {
         return;
     }
     try
     {
         using (var ctx = new ServiceDataContext())
         {
             var entities = invokes.Select(invoke => new Models.InvokeItem
             {
                 //Id = invoke.Id,
                 Service   = invoke.Service,
                 Action    = invoke.Action,
                 StartDate = invoke.StartDate,
                 EndDate   = invoke.EndDate,
                 Duration  = invoke.Duration,
             });
             ctx.Invoke.AddRange(entities);
             await ctx.SaveChangesAsync();
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
         throw;
     }
 }
Example #3
0
        public ContextResult <List <string> > ActiveFriendEmails(string authKey)
        {
            bool valid = IsAuthValid(authKey);

            List <string> ActiveFriends = new List <string>();

            if (valid)
            {
                var now = UKTime.Now;

                using (ServiceDataContext db = new ServiceDataContext())
                {
                    foreach (Service.CRM_AnnualPass pass in db.CRM_AnnualPasses.Where(r => r.StartDate <= now && r.ExpiryDate >= now))
                    {
                        Service.CRM_Person person = db.CRM_Persons.FirstOrDefault(f => f.Reference == pass.PrimaryContactReference);

                        if (person != null && person.PrimaryEmail != "")
                        {
                            ActiveFriends.Add(person.PrimaryEmail.ToLower().Trim());
                        }
                    }
                }
            }

            ContextResult <List <string> > result = new ContextResult <List <string> >()
            {
                ReturnObject = ActiveFriends
            };

            result.IsSuccess = valid;

            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #4
0
        public byte CheckUserExists(string key, string email)
        {
            if (!IsAuthValid(key))
            {
                return(0);
            }

            ServiceDataContext db = new ServiceDataContext();

            email = email.ToLower();

            var result = db.CRM_Persons.ToList().FirstOrDefault(c => !c.IsArchived && c.PrimaryEmail.ToLower() == email);

            if (result != null)
            {
                if (result.Password.Length == 0)
                {
                    return(1);
                }
                else
                {
                    return(2);
                }
            }

            return(0);
        }
Example #5
0
        public ContextResult <Service.CRM_Person> GetUserDetails(string key, string email, string password)
        {
            ServiceDataContext db = new ServiceDataContext();

            email = email.ToLower();

            var person = db.CRM_Persons.ToList().FirstOrDefault(c => !c.IsArchived && c.PrimaryEmail.ToLower() == email && c.Password == password);

            var tempPerson = new Service.CRM_Person()
            {
                PrimaryEmail     = person.PrimaryEmail,
                Title            = person.Title,
                Firstname        = person.Firstname,
                Lastname         = person.Lastname,
                PrimaryAddressID = person.PrimaryAddressID,
            };

            ContextResult <Service.CRM_Person> result = new ContextResult <Service.CRM_Person>()
            {
                ReturnObject = tempPerson
            };

            result.IsSuccess = IsAuthValid(key);

            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #6
0
        public ContextResult <Service.CRM_Venue[]> GetVenues(string authkey)
        {
            ServiceDataContext db = new ServiceDataContext();

            var venueList = new List <Service.CRM_Venue>();

            foreach (var source in db.CRM_Venues.ToArray())
            {
                venueList.Add(new Service.CRM_Venue()
                {
                    Name = source.Name,
                    ID   = source.ID
                });
            }

            ContextResult <Service.CRM_Venue[]> result = new ContextResult <Service.CRM_Venue[]>()
            {
                ReturnObject = venueList.ToArray()
            };

            result.IsSuccess = IsAuthValid(authkey);

            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #7
0
        public ContextResult <Service.CRM_Address> GetAddress(string key, int addressID)
        {
            ServiceDataContext db = new ServiceDataContext();

            var address = db.CRM_Addresses.ToList().FirstOrDefault(c => c.ID == addressID);

            ContextResult <Service.CRM_Address> result = new ContextResult <Service.CRM_Address>()
            {
                ReturnObject = new Service.CRM_Address()
                {
                    AddressLine1 = address.AddressLine1,
                    AddressLine2 = address.AddressLine3,
                    AddressLine3 = address.AddressLine3,
                    AddressLine4 = address.AddressLine4,
                    AddressLine5 = address.AddressLine5,
                    Town         = address.Town,
                    County       = address.County,
                    Postcode     = address.Postcode
                }
            };

            result.IsSuccess = IsAuthValid(key);

            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #8
0
        public void UpdateJointID(string key, Service.HoldingPen account, int otherID)
        {
            ServiceDataContext db = new ServiceDataContext();

            account.JointHoldingPenID = otherID;
            db.SubmitChanges();
        }
Example #9
0
        public bool CheckMemberNo(string key, string memberNo)
        {
            ServiceDataContext db = new ServiceDataContext();

            return(db.CRM_AnnualPassCards.Any(c => c.MembershipNumber.ToString() == memberNo &&
                                              c.CRM_AnnualPasses.Any(ap => ap.StartDate <= UKTime.Now &&
                                                                     ap.ExpiryDate >= UKTime.Now && !ap.IsArchived)));
        }
Example #10
0
        public List <Last_status_by_LongLat> GetState(decimal P1, decimal P2, decimal P3, decimal P4)
        {
            List <Last_status_by_LongLat> Mac = new List <Last_status_by_LongLat>();

            using (ServiceDataContext db = new ServiceDataContext())
            {
                var query = from view node in db.views
                            where table.param > P1 && table.param2 <P2 && table.param2> P3 && table.param < P4
                            select table;
                Mac = query.ToList();
            }
            return(Mac);
        }
Example #11
0
        public ContextResult <Service.CRM_RelationCode[]> GetRelationshipCodes(string authkey)
        {
            ServiceDataContext db = new ServiceDataContext();
            var items             = db.CRM_RelationCodes.ToArray().OrderBy(c => c.Name).ToArray();
            ContextResult <Service.CRM_RelationCode[]> result = new ContextResult <Service.CRM_RelationCode[]>()
            {
                ReturnObject = items
            };

            result.IsSuccess = IsAuthValid(authkey);

            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #12
0
        public ContextResult <Service.Country[]> GetCountries(string authkey)
        {
            ServiceDataContext db = new ServiceDataContext();

            ContextResult <Service.Country[]> result = new ContextResult <Service.Country[]>()
            {
                ReturnObject = db.Countries.ToArray()
            };

            result.IsSuccess = IsAuthValid(authkey);

            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #13
0
        public bool CheckUserLogin(string key, string email, string password)
        {
            if (!IsAuthValid(key))
            {
                return(false);
            }

            ServiceDataContext db = new ServiceDataContext();

            email = email.ToLower();

            var result = db.CRM_Persons.ToList().FirstOrDefault(c => !c.IsArchived && c.PrimaryEmail.ToLower() == email && c.Password == password);

            return(result != null);
        }
Example #14
0
        public ContextResult <Service.CRM_AnnualPassType[]> GetMemberships(string authkey)
        {
            ServiceDataContext db = new ServiceDataContext();
            var items             = db.CRM_AnnualPassTypes.Where(r => r.IsWebsite && !r.IsArchived).ToArray().OrderBy(c => c.Name).ToArray();
            ContextResult <Service.CRM_AnnualPassType[]> result = new ContextResult <Service.CRM_AnnualPassType[]>()
            {
                ReturnObject = items
            };

            result.IsSuccess = IsAuthValid(authkey);

            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #15
0
        public ContextResult <Service.CRM_Person> GetPersonRecord(string authkey, int WebsiteAccountID)
        {
            ServiceDataContext db = new ServiceDataContext();

            Service.CRM_Person personAccount = db.CRM_Persons.FirstOrDefault(s => s.WebsiteAccountID == WebsiteAccountID);

            ContextResult <Service.CRM_Person> result = new ContextResult <Service.CRM_Person>()
            {
                ReturnObject = personAccount
            };

            result.IsSuccess = IsAuthValid(authkey);

            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #16
0
        public bool HasActiveMembership(string key, string email)
        {
            if (!IsAuthValid(key))
            {
                return(false);
            }

            ServiceDataContext db = new ServiceDataContext();

            var person = db.CRM_Persons.ToList().FirstOrDefault(c => !c.IsArchived && c.PrimaryEmail.ToLower() == email);

            if (person == null)
            {
                return(false);
            }

            return(person.CRM_AnnualPassPersons.Any(c => !c.IsArchived && !c.CRM_AnnualPass.IsArchived && c.CRM_AnnualPass.ExpiryDate >= DateTime.Today));
        }
Example #17
0
        public bool SendAccount(string key, Service.HoldingPen account, InterestAnswer[] interests)
        {
            ServiceDataContext db = new ServiceDataContext();

            JavaScriptSerializer js = new JavaScriptSerializer();

            account.InterestObjects = js.Serialize(interests);

            if (account.Password == null)
            {
                account.Password = "";
            }

            db.HoldingPens.InsertOnSubmit(account);
            db.SubmitChanges();

            return(true);
        }
Example #18
0
        public ContextResult <Service.CRM_FormFieldItem[]> GetInterests(string authkey)
        {
            ServiceDataContext db = new ServiceDataContext();

            Service.CRM_FormFieldItem[] items = db.CRM_FormFieldItems.Where(f => f.CRM_FormFieldID == 24).OrderBy(o => o.OrderNo).ToArray();


            ContextResult <Service.CRM_FormFieldItem[]> result = new ContextResult <Service.CRM_FormFieldItem[]>()
            {
                ReturnObject = items
            };

            result.IsSuccess = IsAuthValid(authkey);


            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #19
0
        public bool ResetCodeValid(string key, string email, string code)
        {
            if (!IsAuthValid(key))
            {
                return(false);
            }

            ServiceDataContext db = new ServiceDataContext();

            email = email.ToLower();

            var result = db.CRM_Persons.ToList().FirstOrDefault(c => !c.IsArchived && c.PrimaryEmail.ToLower() == email && c.TempCode == code);

            if (result != null)
            {
                return(true);
            }

            return(false);
        }
Example #20
0
        private bool IsFriend(string email)
        {
            ServiceDataContext db = new ServiceDataContext();

            var personsMatchingEmail = db.CRM_Persons.Where(r => r.PrimaryEmail.ToLower().Trim() == email.ToLower().Trim());

            bool hasPass = false;

            foreach (Service.CRM_Person person in personsMatchingEmail)
            {
                bool HasPass = db.CRM_AnnualPasses.Any(r => r.StartDate >= UKTime.Now && r.ExpiryDate <= UKTime.Now && r.PrimaryContactReference == person.Reference);

                if (HasPass)
                {
                    hasPass = true;
                }
            }

            return(hasPass);
        }
Example #21
0
        public bool UpdatePassword(string key, string email, string password)
        {
            if (!IsAuthValid(key))
            {
                return(false);
            }

            ServiceDataContext db = new ServiceDataContext();

            email = email.ToLower();

            var result = db.CRM_Persons.ToList().FirstOrDefault(c => !c.IsArchived && c.PrimaryEmail.ToLower() == email);

            if (result != null)
            {
                result.Password = password;
                db.SubmitChanges();
            }

            return(true);
        }
Example #22
0
        public ContextResult <InterestAnswer[]> GetCurrentInterests(string authkey, int WebsiteAccountID)
        {
            ServiceDataContext db = new ServiceDataContext();

            Service.CRM_Person personAccount = db.CRM_Persons.FirstOrDefault(s => s.WebsiteAccountID == WebsiteAccountID);

            InterestAnswer[] items = (from a in db.CRM_FormFieldAnswers
                                      where a.CRM_FormFieldID == 24 && a.TargetReference == personAccount.Reference
                                      select new InterestAnswer {
                FormFieldID = a.CRM_FormFieldID, OptIn = a.Answer == "Yes"
            }).ToArray();

            ContextResult <InterestAnswer[]> result = new ContextResult <InterestAnswer[]>()
            {
                ReturnObject = items
            };

            result.IsSuccess = IsAuthValid(authkey);

            SetResponseHeaders(result.IsSuccess);

            return(result);
        }
Example #23
0
        public string SyncCalendar(int ExternalEventID, string Name, DateTime startDate, int attendees, int total, bool UpdateAttendance, string ticketTypeName)
        {
            try
            {
                ServiceDataContext db = new ServiceDataContext();

                Service.CRM_Calendar calendarItem = db.CRM_Calendars.FirstOrDefault(f => f.ExternalEventID == ExternalEventID && startDate.Date == f.StartDateTime.Date);

                int CalendarTypeID = db.CRM_CalendarTypes.Single(s => s.FixedRef == (int)Code.Models.CRM_CalendarType.TypeList.Event).ID;

                bool addedNew = false;
                if (calendarItem == null)
                {
                    addedNew = true;

                    calendarItem = new Service.CRM_Calendar();
                    calendarItem.CancellationReason      = "";
                    calendarItem.CreatedByAdminID        = 1;
                    calendarItem.CRM_CalendarTypeID      = CalendarTypeID;
                    calendarItem.DateCancelled           = null;
                    calendarItem.DatePaid                = null;
                    calendarItem.Status                  = (byte)Code.Models.CRM_Calendar.StatusTypes.Confirmed;
                    calendarItem.ExternalEventID         = ExternalEventID;
                    calendarItem.InvoiceAddressID        = null;
                    calendarItem.InvoiceFirstname        = "";
                    calendarItem.InvoiceLastname         = "";
                    calendarItem.InvoiceTitle            = "";
                    calendarItem.IsCancelled             = false;
                    calendarItem.IsInvoiced              = false;
                    calendarItem.PONumber                = "";
                    calendarItem.PriceAgreed             = 0;
                    calendarItem.PriceType               = 0;
                    calendarItem.PrimaryContactReference = "";
                    calendarItem.PrivacyStatus           = (byte)Code.Models.CRM_Calendar.PrivacyTypes.Editable;
                    calendarItem.RequiresCatering        = false;
                    calendarItem.TargetReference         = "";

                    if (ExternalEventID == 91)
                    {
                        calendarItem.CRM_CalendarTypeID = db.CRM_CalendarTypes.Single(s => s.FixedRef == (int)Code.Models.CRM_CalendarType.TypeList.generic).ID;

                        calendarItem.StartDateTime = startDate.AddHours(9);
                        calendarItem.EndDateTime   = startDate.AddHours(17);
                    }
                    else
                    {
                        if (startDate.Hour == 0)
                        {
                            calendarItem.StartDateTime = startDate.AddHours(9);
                            calendarItem.EndDateTime   = startDate.AddHours(10);
                        }
                        else
                        {
                            calendarItem.StartDateTime = startDate;
                            calendarItem.EndDateTime   = startDate.AddHours(1);
                        }
                    }

                    db.CRM_Calendars.InsertOnSubmit(calendarItem);
                }

                if (!UpdateAttendance || addedNew)
                {
                    calendarItem.Taken = attendees;
                    calendarItem.Limit = total;
                }
                calendarItem.DisplayName = Name;

                db.SubmitChanges();

                if (UpdateAttendance)
                {
                    Service.CRM_AttendanceEvent attendanceEvent = db.CRM_AttendanceEvents.FirstOrDefault(f => f.ExternalEventID == ExternalEventID);

                    if (attendanceEvent == null)
                    {
                        attendanceEvent = new Service.CRM_AttendanceEvent()
                        {
                            ExternalEventID = ExternalEventID,
                            Name            = Name
                        };

                        db.CRM_AttendanceEvents.InsertOnSubmit(attendanceEvent);
                        db.SubmitChanges();
                    }

                    Service.CRM_AttendanceLogGroup group = new Service.CRM_AttendanceLogGroup();

                    group.CRM_AttendanceEventID = attendanceEvent.ID;
                    group.AddedTimeStamp        = startDate;
                    group.OriginType            = (byte)CRM.Code.Models.CRM_AttendanceLogGroup.OriginTypes.WebsiteWebservice;
                    group.DateInserted          = UKTime.Now;
                    db.CRM_AttendanceLogGroups.InsertOnSubmit(group);
                    db.SubmitChanges();

                    if (ticketTypeName.Length > 0)
                    {
                        string logticketType = "Web Booking - " + ticketTypeName;

                        Service.CRM_AttendancePersonType personType =
                            db.CRM_AttendancePersonTypes.FirstOrDefault(f => f.Name == logticketType);

                        if (personType == null)
                        {
                            personType            = new Service.CRM_AttendancePersonType();
                            personType.IsActive   = true;
                            personType.IsArchived = false;
                            personType.Name       = logticketType;
                            personType.OrderNo    = 0;
                            db.CRM_AttendancePersonTypes.InsertOnSubmit(personType);
                        }

                        db.SubmitChanges();

                        Service.CRM_AttendanceLog log = new Service.CRM_AttendanceLog();
                        log.CRM_AttendancePersonTypeID = personType.ID;
                        log.Quantity = attendees;
                        log.CRM_CRM_AttendanceLogGroupID = group.ID;
                        db.CRM_AttendanceLogs.InsertOnSubmit(log);
                        db.SubmitChanges();
                    }
                }

                return("OK");
            }
            catch (Exception ex) {
                var st = new StackTrace(ex, true);
                // Get the top stack frame
                var frame = st.GetFrame(0);
                // Get the line number from the stack frame
                var line = frame.GetFileLineNumber();

                return("External Event ID " + ExternalEventID + " : " + ex.Message + ":" + line);
            }
        }