public string AddOrUpdateAVIP(VIP newVIP)
        {
            string err = AddOrUpdatePersonDetails(newVIP.FullName, newVIP.DateOfBirth, newVIP.Gender, newVIP.ContactNumber, newVIP.CivilianID, newVIP.Address);

            if (err != "")
            {
                return(err);
            }

            int             personalDetailsID = GetPersonalDetailsID(newVIP.CivilianID);
            Table <DAL.VIP> vipTable          = GetVipTable();
            var             matchedVIP        = (from vip in vipTable
                                                 where vip.personalDetailsID == personalDetailsID
                                                 select vip).FirstOrDefault();

            if (matchedVIP == null)
            {
                DAL.VIP newData = new DAL.VIP();
                try
                {
                    newData.vipID             = newVIP.VipID;
                    newData.personalDetailsID = personalDetailsID;
                    newData.occupationCode    = GetOccupationCode(newVIP.Occupation);
                    newData.registerDate      = DateTime.Now.Date;
                    newData.endDate           = DateTime.Now.AddDays(ParameterManager.GetVIPMembershipIncreasementDaysNumber()).Date;
                    newData.vipStatusCode     = 1;

                    vipTable.InsertOnSubmit(newData);
                    vipTable.Context.SubmitChanges();
                }
                catch (Exception ex)
                {
                    return(ex.Message);
                }
            }
            else if (matchedVIP != null)
            {
                try
                {
                    matchedVIP.personalDetailsID = personalDetailsID;
                    matchedVIP.occupationCode    = GetOccupationCode(newVIP.Occupation);

                    db.SubmitChanges();
                }
                catch (Exception ex)
                {
                    return(ex.Message);
                }
            }

            return("");
        }
        internal string IncreaseVipMembership(string vipID)
        {
            Table <DAL.VIP> vipTable = GetVipTable();

            var res = (from vip in vipTable
                       where vip.vipID == vipID
                       select vip).FirstOrDefault();

            if (res != null)
            {
                try
                {
                    res.endDate = res.endDate.Value.Date.AddDays(ParameterManager.GetVIPMembershipIncreasementDaysNumber());
                    db.SubmitChanges();
                }
                catch (Exception ex)
                {
                    return(ex.Message);
                }
            }
            return("");
        }