Пример #1
0
        /// <summary>
        /// Save or update Key info
        /// </summary>
        /// <param name="newKey"></param>
        /// <param name="nID"></param>
        /// <returns></returns>
        public string SaveOrUpdateKey(key newKey, ref long nID)
        {
            string sMessage = "Success";

            key obj = new key();


            using (var db = new TittleEntities())
            {
                obj = db.keys.Where(x => x.key1 == newKey.key1).FirstOrDefault();
                if (obj == null || obj.id == 0)
                {
                    newKey.created_at = DateTime.Now;
                    newKey.updated_at = DateTime.Now;
                    db.keys.Add(newKey);
                    db.SaveChanges();

                    //add entry in translation
                    StringBuilder strQuery = new StringBuilder();
                    strQuery.Append("INSERT INTO `translations` ");
                    strQuery.Append("(`language_id`,`key_id`,`value`,`created_at`,`updated_at`) ");
                    strQuery.Append("select id," + newKey.id.ToString() + ",'',NOW(),NOW() from languages");
                    var _dataQuery = db.Database.ExecuteSqlCommand(strQuery.ToString());
                    nID = newKey.id;
                }
                else
                {
                    sMessage = "Key already exist.";
                }
            }

            return(sMessage);
        }
Пример #2
0
        /// <summary>
        /// Update translation info
        /// </summary>
        /// <param name="nID"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public string UpdateTranslation(long nID, string value)
        {
            string sMessage = "Success";

            translation obj = new translation();


            using (var db = new TittleEntities())
            {
                obj = db.translations.Where(x => x.id == nID).FirstOrDefault();
                if (obj != null && obj.id > 0)
                {
                    obj.value      = value;
                    obj.updated_at = DateTime.Now;
                    //update key
                    db.translations.Attach(obj);
                    db.Entry(obj).State = EntityState.Modified;
                    db.SaveChanges();

                    nID = obj.id;
                }
                else
                {
                    sMessage = "Translation not exists.";
                }
            }

            return(sMessage);
        }
Пример #3
0
        /// <summary>
        /// Save or update Language info
        /// </summary>
        /// <param name="newLang"></param>
        /// <param name="nID"></param>
        /// <returns></returns>
        public string SaveOrUpdateLanguage(CustomNewLanguage newLang, ref long nID)
        {
            string sMessage = "Success";

            language obj = new language();


            using (var db = new TittleEntities())
            {
                obj.locale     = newLang.locale;
                obj.label      = newLang.langLabel;
                obj.created_at = DateTime.Now;
                obj.updated_at = DateTime.Now;
                db.languages.Add(obj);
                db.SaveChanges();

                //add entry in translation
                StringBuilder strQuery = new StringBuilder();
                strQuery.Append("INSERT INTO `translations` ");
                strQuery.Append("(`language_id`,`key_id`,`value`,`created_at`,`updated_at`) ");
                strQuery.Append("select " + obj.id.ToString() + ",id,'',NOW(),NOW() from `keys`");
                var _dataQuery = db.Database.ExecuteSqlCommand(strQuery.ToString());
                nID = obj.id;
            }

            return(sMessage);
        }
Пример #4
0
        /// <summary>
        /// Delete key info
        /// </summary>
        /// <param name="nID"></param>
        /// <returns></returns>
        public string Deletekey(long nID)
        {
            string sMessage = "Success";

            key obj = new key();


            using (var db = new TittleEntities())
            {
                obj = db.keys.Where(x => x.id == nID).FirstOrDefault();
                if (obj != null && obj.id > 0)
                {
                    //delete translation data
                    StringBuilder strQuery = new StringBuilder();
                    strQuery.Append("Delete from `translations` ");
                    strQuery.Append("WHERE key_id=" + nID.ToString() + " AND id!=0");
                    var _dataQuery = db.Database.SqlQuery <CustomLanguage>(strQuery.ToString()).ToList();

                    //delete key
                    db.keys.Attach(obj);
                    db.keys.Remove(obj);
                    db.SaveChanges();

                    nID = obj.id;
                }
                else
                {
                    sMessage = "Key not exists.";
                }
            }

            return(sMessage);
        }
Пример #5
0
        /// <summary>
        /// Change Redeem Status
        /// </summary>
        /// <param name="nID"></param>
        /// <param name="sStatus"></param>
        /// <returns></returns>
        public string ChangeRedeemStatus(long nID, string sStatus)
        {
            string sMessage = "Success";

            user_redeem obj = GetRedeemInfo(nID);

            using (var db = new TittleEntities())
            {
                if (sStatus == "Approved")
                {
                    obj.status = 1;
                }
                else if (sStatus == "Completed")
                {
                    obj.status = 2;
                }
                else
                {
                    obj.status = 0;
                }

                db.user_redeem.Attach(obj);
                db.Entry(obj).State = EntityState.Modified;
                db.SaveChanges();
            }

            return(sMessage);
        }
Пример #6
0
        /// <summary>
        /// Delete Language info
        /// </summary>
        /// <param name="nID"></param>
        /// <returns></returns>
        public string DeleteLanguage(long nID)
        {
            string sMessage = "Success";

            language obj = new language();


            using (var db = new TittleEntities())
            {
                obj = db.languages.Where(x => x.id == nID).FirstOrDefault();
                if (obj != null && obj.id > 0)
                {
                    //delete translation data
                    StringBuilder strQuery = new StringBuilder();
                    strQuery.Append("Delete from `translations` ");
                    strQuery.Append("WHERE language_id=" + nID.ToString() + " AND id!=0");
                    var _dataQuery = db.Database.ExecuteSqlCommand(strQuery.ToString());

                    //delete language
                    db.languages.Attach(obj);
                    db.languages.Remove(obj);
                    db.SaveChanges();

                    nID = obj.id;
                }
                else
                {
                    sMessage = "Language not exists.";
                }
            }

            return(sMessage);
        }
Пример #7
0
 /// <summary>
 /// Save notification box info
 /// </summary>
 /// <returns></returns>
 public void SaveNotificationBoxInfo(notification_boxes obj)
 {
     using (var db = new TittleEntities())
     {
         db.notification_boxes.Add(obj);
         db.SaveChanges();
     }
 }
Пример #8
0
 /// <summary>
 /// Update notification info
 /// </summary>
 /// <returns></returns>
 public void UpdateNotificationInfo(notification obj)
 {
     using (var db = new TittleEntities())
     {
         db.notifications.Add(obj);
         db.SaveChanges();
     }
 }
Пример #9
0
        /// <summary>
        /// Notifications list
        /// </summary>
        /// <returns></returns>
        public List <CustomNotification> GetNotificationList(string searchBy, int take, int skip, string sortBy, bool sortDir, string customField, out int filteredResultsCount, out int totalResultsCount)
        {
            var whereClause = "(name like '%" + searchBy + "%' OR OnDate like '%" + searchBy + "%' OR ";

            whereClause += "NextNotificationDate like '%" + searchBy + "%' OR content like '%" + searchBy + "%' OR ";
            whereClause += "type like '%" + searchBy + "%' OR status like '%" + searchBy + "%' OR ";
            whereClause += "data like '%" + searchBy + "%') ";
            if (customField == "Today")
            {
                whereClause += " AND type='published' AND  STR_TO_DATE(NextNotificationDate, '%d/%m/%Y %T')>=now() AND STR_TO_DATE(NextNotificationDate, '%d/%m/%Y %T')<=DATE_ADD(now(), INTERVAL 1 DAY)";
            }

            if (String.IsNullOrEmpty(sortBy))
            {
                // if we have an empty search then just order the results by Id ascending
                sortBy  = "name";
                sortDir = true;
            }

            if (sortBy.Contains("Date"))
            {
                sortBy = "STR_TO_DATE(" + sortBy + ", '%d/%m/%Y %T')";
            }

            if (sortDir)
            {
                sortBy += " asc";
            }
            else
            {
                sortBy += " desc";
            }
            List <CustomNotification> _data            = new List <CustomNotification>();
            StringBuilder             strQuery         = new StringBuilder();
            List <CustomNotification> _dataFiltered    = new List <CustomNotification>();
            StringBuilder             strFilteredQuery = new StringBuilder();

            using (var db = new TittleEntities())
            {
                strFilteredQuery.Append("Select * from (");
                strFilteredQuery.Append("Select id, name,OnDate,NextNotificationDate,content,type,status, ");
                strFilteredQuery.Append("if (data = 'all','All user',concat((CHAR_LENGTH(data) - CHAR_LENGTH(REPLACE(data, ',', '')) + 1), ' users')) as data ");
                strFilteredQuery.Append(" from( ");
                strFilteredQuery.Append("SELECT id, name, DATE_FORMAT(time, '%d/%m/%Y %T') as OnDate, ");
                strFilteredQuery.Append("DATE_FORMAT(next_notification, '%d/%m/%Y %T') as NextNotificationDate, ");
                strFilteredQuery.Append("content, type, status, replace(replace(data, '{\"users\":\"', ''), '\"}', '') as data ");
                strFilteredQuery.Append("FROM notifications where type<>'' AND status<>'completed') as n) as tbl ");
                strFilteredQuery.Append("where " + whereClause);
                strFilteredQuery.Append(" order by " + sortBy);
                _data         = db.Database.SqlQuery <CustomNotification>(strFilteredQuery.ToString()).ToList();
                _dataFiltered = _data.Skip(skip).Take(take).ToList();

                filteredResultsCount = _data.Count();
                totalResultsCount    = _data.Count();
            }
            return(_dataFiltered);
        }
Пример #10
0
        /// <summary>
        /// Get System Notification Info
        /// </summary>
        /// <returns></returns>
        public system_settings GetSystemNotificationInfo()
        {
            List <system_settings> NotificationInfo;

            using (var db = new TittleEntities())
            {
                NotificationInfo = db.system_settings.Where(x => x.key == "reminder_notification").ToList();
            }
            return(NotificationInfo[0]);
        }
Пример #11
0
        /// <summary>
        /// Get Promo Code Info
        /// </summary>
        /// <returns></returns>
        public promo_codes GetPromoCodeInfo(long nID)
        {
            List <promo_codes> PromoCodeInfo;

            using (var db = new TittleEntities())
            {
                PromoCodeInfo = db.promo_codes.Where(x => x.id == nID).ToList();
            }
            return(PromoCodeInfo[0]);
        }
Пример #12
0
        /// <summary>
        /// Get Notification Info
        /// </summary>
        /// <returns></returns>
        public notification GetNotificationInfo(long nID)
        {
            List <notification> NotificationInfo;

            using (var db = new TittleEntities())
            {
                NotificationInfo = db.notifications.Where(x => x.id == nID).ToList();
            }
            return(NotificationInfo[0]);
        }
Пример #13
0
        /// <summary>
        /// Get Redemption Gift Info
        /// </summary>
        /// <returns></returns>
        public redeem GetRedemptionGiftInfo(long nID)
        {
            List <redeem> RedemptionGiftInfo;

            using (var db = new TittleEntities())
            {
                RedemptionGiftInfo = db.redeems.Where(x => x.id == nID).ToList();
            }
            return(RedemptionGiftInfo[0]);
        }
Пример #14
0
        /// <summary>
        /// Get Redeem Info
        /// </summary>
        /// <returns></returns>
        public user_redeem GetRedeemInfo(long nID)
        {
            List <user_redeem> RedeemInfo;

            using (var db = new TittleEntities())
            {
                RedeemInfo = db.user_redeem.Where(x => x.id == nID).ToList();
            }
            return(RedeemInfo[0]);
        }
Пример #15
0
        /// <summary>
        /// Devices list
        /// </summary>
        /// <returns></returns>
        public List <device> GetListOfDevices(long id)
        {
            List <device> devices = new List <device>();

            using (var db = new TittleEntities())
            {
                devices = db.devices.Where(x => x.device_id == id).ToList();
            }
            return(devices);
        }
Пример #16
0
        /// <summary>
        /// Active Notifications list
        /// </summary>
        /// <returns></returns>
        public List <notification> GetActiveNotifications()
        {
            List <notification> notifications = new List <notification>();
            DateTime            dt            = DateTime.Now;

            using (var db = new TittleEntities())
            {
                notifications = db.notifications.Where(x => x.status == "published" && (DateTime)x.next_notification <= dt).ToList();
            }
            return(notifications);
        }
Пример #17
0
        /// <summary>
        /// Promo Codes list
        /// </summary>
        /// <returns></returns>
        public List <CustomPromoCode> GetPromoCodesList(string searchBy, int take, int skip, string sortBy, bool sortDir, out int filteredResultsCount, out int totalResultsCount)
        {
            var whereClause = "CodeID like '%" + searchBy + "%' OR Quantity like '%" + searchBy + "%' OR ";

            whereClause += "Value like '%" + searchBy + "%' OR Rules like '%" + searchBy + "%' OR ";
            whereClause += "StartDate like '%" + searchBy + "%' OR EndDate like '%" + searchBy + "%' OR ";
            whereClause += "Description like '%" + searchBy + "%' OR TypeValue like '%" + searchBy + "%' OR ";
            whereClause += "Status like '%" + searchBy + "%' ";

            if (String.IsNullOrEmpty(sortBy))
            {
                // if we have an empty search then just order the results by Id ascending
                sortBy  = "CodeID";
                sortDir = true;
            }

            if (sortBy.Contains("Date"))
            {
                sortBy = "STR_TO_DATE(" + sortBy + ", '%d/%m/%Y')";
            }

            if (sortDir)
            {
                sortBy += " asc";
            }
            else
            {
                sortBy += " desc";
            }
            List <CustomPromoCode> _data            = new List <CustomPromoCode>();
            StringBuilder          strQuery         = new StringBuilder();
            List <CustomPromoCode> _dataFiltered    = new List <CustomPromoCode>();
            StringBuilder          strFilteredQuery = new StringBuilder();

            using (var db = new TittleEntities())
            {
                strFilteredQuery.Append("Select * from (");
                strFilteredQuery.Append("SELECT id, code as CodeID, description as Description, promo_type as TypeValue, ");
                strFilteredQuery.Append("if (type = 'percentage',concat(FLOOR(value), '%'),concat(value, ' SGD')) as Value,  ");
                strFilteredQuery.Append("DATE_FORMAT(start_date, '%d/%m/%Y') as StartDate,  ");
                strFilteredQuery.Append("DATE_FORMAT(end_date, '%d/%m/%Y') as EndDate, ");
                strFilteredQuery.Append("rule as Rules, if(quantity=-1,'Unlimited',quantity) as Quantity, ");
                strFilteredQuery.Append("if (now() < start_date,'Scheduled',if (now() >= end_date,'Expired','Open')) as Status ");
                strFilteredQuery.Append("FROM promo_codes) as tbl ");
                strFilteredQuery.Append("where " + whereClause);
                strFilteredQuery.Append(" order by " + sortBy);
                _data         = db.Database.SqlQuery <CustomPromoCode>(strFilteredQuery.ToString()).ToList();
                _dataFiltered = _data.Skip(skip).Take(take).ToList();

                filteredResultsCount = _data.Count();
                totalResultsCount    = _data.Count();
            }
            return(_dataFiltered);
        }
Пример #18
0
        /// <summary>
        /// User Redeem list
        /// </summary>
        /// <returns></returns>
        public List <CustomUserRedeem> GetUserRedeemList(string searchBy, int take, int skip, string sortBy, bool sortDir, out int filteredResultsCount, out int totalResultsCount)
        {
            var whereClause = "UserName like '%" + searchBy + "%' OR Redeem like '%" + searchBy + "%' OR ";

            whereClause += "DateRedeem like '%" + searchBy + "%' OR Status like '%" + searchBy + "%' OR ";
            whereClause += "ActionName like '%" + searchBy + "%' ";

            if (String.IsNullOrEmpty(sortBy))
            {
                // if we have an empty search then just order the results by Id ascending
                sortBy  = "UserName";
                sortDir = true;
            }

            if (sortBy.Contains("Date"))
            {
                sortBy = "STR_TO_DATE(" + sortBy + ", '%d/%m/%Y')";
            }

            if (sortDir)
            {
                sortBy += " asc";
            }
            else
            {
                sortBy += " desc";
            }
            List <CustomUserRedeem> _data            = new List <CustomUserRedeem>();
            StringBuilder           strQuery         = new StringBuilder();
            List <CustomUserRedeem> _dataFiltered    = new List <CustomUserRedeem>();
            StringBuilder           strFilteredQuery = new StringBuilder();

            using (var db = new TittleEntities())
            {
                strFilteredQuery.Append("Select * from (");
                strFilteredQuery.Append("SELECT ur.id, DATE_FORMAT(ur.date_redeem, '%d/%m/%Y') as DateRedeem, ");
                strFilteredQuery.Append("if (ur.status = 0,'Ordered',if (ur.status = 1,'Approved','Completed')) as Status, ");
                strFilteredQuery.Append("if (isnull(u.id),'no name',u.name) as UserName, ");
                strFilteredQuery.Append("if (isnull(r.id),'no redeem',r.name) as Redeem, ");
                strFilteredQuery.Append("if (ur.status = 0,'Approved',if (ur.status = 1,'Completed','')) as ActionName ");
                strFilteredQuery.Append(" FROM user_redeem as ur left join ");
                strFilteredQuery.Append(" users as u on ur.user_id = u.id left join ");
                strFilteredQuery.Append(" redeem as r on ur.redeem_id = r.id) as tbl ");
                strFilteredQuery.Append("where " + whereClause);
                strFilteredQuery.Append(" order by " + sortBy);
                _data         = db.Database.SqlQuery <CustomUserRedeem>(strFilteredQuery.ToString()).ToList();
                _dataFiltered = _data.Skip(skip).Take(take).ToList();

                filteredResultsCount = _data.Count();
                totalResultsCount    = _data.Count();
            }
            return(_dataFiltered);
        }
Пример #19
0
        /// <summary>
        /// Update System Notification Info
        /// </summary>
        /// <returns></returns>
        public void UpdateSystemNotificationInfo(string value)
        {
            using (var db = new TittleEntities())
            {
                system_settings obj = db.system_settings.Where(x => x.key == "reminder_notification").FirstOrDefault();
                obj.value = value;

                db.system_settings.Attach(obj);
                db.Entry(obj).State = EntityState.Modified;
                db.SaveChanges();
            }
        }
Пример #20
0
        /// <summary>
        /// Languages list
        /// </summary>
        /// <returns></returns>
        public List <CustomLanguage> GetLanguagesList()
        {
            List <CustomLanguage> _dataQuery = new List <CustomLanguage>();

            using (var db = new TittleEntities())
            {
                StringBuilder strQuery = new StringBuilder();
                strQuery.Append("SELECT id as Id, label as LangLabel FROM languages ");
                _dataQuery = db.Database.SqlQuery <CustomLanguage>(strQuery.ToString()).ToList();
            }
            return(_dataQuery);
        }
Пример #21
0
        /// <summary>
        /// Delete Promo Code
        /// </summary>
        /// <returns></returns>
        public void DeletePromoCode(long nID, ref string sMessage)
        {
            sMessage = "Delete can't be completed , there are ";
            promo_codes obj = GetPromoCodeInfo(nID);

            using (var db = new TittleEntities())
            {
                db.promo_codes.Attach(obj);
                db.promo_codes.Remove(obj);
                db.SaveChanges();
            }
            sMessage = "Success";
        }
Пример #22
0
        /// <summary>
        /// Delete Notification
        /// </summary>
        /// <returns></returns>
        public void DeleteNotification(long nID, ref string sMessage)
        {
            sMessage = "Delete can't be completed , there are ";
            notification obj = GetNotificationInfo(nID);

            using (var db = new TittleEntities())
            {
                db.notifications.Attach(obj);
                db.notifications.Remove(obj);
                db.SaveChanges();
            }
            sMessage = "Success";
        }
Пример #23
0
        /// <summary>
        /// Delete Redemption Gift
        /// </summary>
        /// <returns></returns>
        public void DeleteRedemptionGift(long nID, ref string sMessage)
        {
            sMessage = "Delete can't be completed , there are ";
            redeem obj = GetRedemptionGiftInfo(nID);

            using (var db = new TittleEntities())
            {
                db.redeems.Attach(obj);
                db.redeems.Remove(obj);
                db.SaveChanges();
            }
            sMessage = "Success";
        }
Пример #24
0
        /// <summary>
        /// Notification Users list
        /// </summary>
        /// <returns></returns>
        public List <CustomNotificationUser> GetUserDetailByEmail(string email)
        {
            List <CustomNotificationUser> _data = new List <CustomNotificationUser>();
            StringBuilder strQuery = new StringBuilder();

            using (var db = new TittleEntities())
            {
                strQuery.Append("SELECT user.id, users.email as Email");
                strQuery.Append(" FROM users ");
                strQuery.Append(" where users.active=1 AND users.email='" + email + "'");
                _data = db.Database.SqlQuery <CustomNotificationUser>(strQuery.ToString()).ToList();
            }
            return(_data);
        }
Пример #25
0
        /// <summary>
        /// Translations list
        /// </summary>
        /// <returns></returns>
        public List <CustomLanguageTranslation> GetTranslationsList(string searchBy, int take, int skip, string sortBy, bool sortDir, string customField, out int filteredResultsCount, out int totalResultsCount)
        {
            var whereClause = "tbl.key like '%" + searchBy + "%' OR tbl.label like '%" + searchBy + "%' OR ";

            whereClause += "tbl.value like '%" + searchBy + "%' ";

            if (String.IsNullOrEmpty(sortBy))
            {
                // if we have an empty search then just order the results by Id ascending
                sortBy  = "key";
                sortDir = true;
            }

            if (sortBy.Contains("Date"))
            {
                sortBy = "STR_TO_DATE(" + sortBy + ", '%d/%m/%Y')";
            }

            if (sortDir)
            {
                sortBy += " asc";
            }
            else
            {
                sortBy += " desc";
            }
            List <CustomLanguageTranslation> _data = new List <CustomLanguageTranslation>();
            StringBuilder strQuery = new StringBuilder();
            List <CustomLanguageTranslation> _dataFiltered = new List <CustomLanguageTranslation>();
            StringBuilder strFilteredQuery = new StringBuilder();

            using (var db = new TittleEntities())
            {
                strFilteredQuery.Append("Select * from (");
                strFilteredQuery.Append("select k.key,k.label,t.value,t.id, t.key_id ");
                strFilteredQuery.Append("from `keys` as k join ");
                strFilteredQuery.Append("translations as t on k.id = t.key_id ");
                strFilteredQuery.Append("where t.language_id = " + customField + ") as tbl ");
                strFilteredQuery.Append("where " + whereClause);
                strFilteredQuery.Append(" order by tbl." + sortBy);
                _data         = db.Database.SqlQuery <CustomLanguageTranslation>(strFilteredQuery.ToString()).ToList();
                _dataFiltered = _data.Skip(skip).Take(take).ToList();

                filteredResultsCount = _data.Count();
                totalResultsCount    = _data.Count();
            }
            return(_dataFiltered);
        }
Пример #26
0
        /// <summary>
        /// Notification Users list
        /// </summary>
        /// <returns></returns>
        public List <CustomNotificationUser> GetNotificationUsersList(long Id)
        {
            List <CustomNotificationUser> _data = new List <CustomNotificationUser>();
            StringBuilder strQuery = new StringBuilder();

            using (var db = new TittleEntities())
            {
                strQuery.Append("SELECT user.id, users.email as Email");
                strQuery.Append(" FROM notifications join");
                strQuery.Append(" users");
                strQuery.Append(" on replace(replace(data, '{\"users\":\"', ''), '\"}', '')='all' OR users.id in (replace(replace(data, '{\"users\":\"', ''), '\"}', ''))");
                strQuery.Append(" join devices on users.id=devices.deviceable_id where users.active=1");
                _data = db.Database.SqlQuery <CustomNotificationUser>(strQuery.ToString()).ToList();
            }
            return(_data);
        }
Пример #27
0
        /// <summary>
        /// Get Promo Code Info By Code
        /// </summary>
        /// <returns></returns>
        public promo_codes GetPromoCodeInfoByCode(string code)
        {
            List <promo_codes> PromoCodeInfo;

            using (var db = new TittleEntities())
            {
                PromoCodeInfo = db.promo_codes.Where(x => x.code == code).ToList();
            }
            if (PromoCodeInfo.Count > 0)
            {
                return(PromoCodeInfo[0]);
            }
            else
            {
                return(null);
            }
        }
Пример #28
0
        /// <summary>
        /// Get Redemption Gift ByKey
        /// </summary>
        /// <returns></returns>
        public redeem GetRedemptionGiftByKey(string name)
        {
            List <redeem> RedemptionGiftInfo;

            using (var db = new TittleEntities())
            {
                RedemptionGiftInfo = db.redeems.Where(x => x.name == name).ToList();
            }
            if (RedemptionGiftInfo.Count > 0)
            {
                return(RedemptionGiftInfo[0]);
            }
            else
            {
                return(null);
            }
        }
Пример #29
0
        /// <summary>
        /// Save or update promo code info
        /// </summary>
        /// <param name="_promoCode"></param>
        /// <param name="nID"></param>
        /// <returns></returns>
        public string SaveOrUpdatePromoCode(CustomPromoCode _promoCode, ref long nID)
        {
            string sMessage = "Success";

            promo_codes obj;

            if (_promoCode.id != 0)
            {
                obj = GetPromoCodeInfo(_promoCode.id);
            }
            else
            {
                obj = new promo_codes();
            }


            using (var db = new TittleEntities())
            {
                obj.code        = _promoCode.CodeID;
                obj.description = _promoCode.Description;
                obj.end_date    = DateTime.ParseExact(_promoCode.EndDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                obj.promo_type  = _promoCode.TypeValue;
                obj.quantity    = Convert.ToInt32(_promoCode.Quantity);
                obj.rule        = string.IsNullOrEmpty(_promoCode.Rules) ? "" : _promoCode.Rules;
                obj.start_date  = DateTime.ParseExact(_promoCode.StartDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                obj.type        = _promoCode.type;
                obj.value       = Convert.ToDecimal(_promoCode.Value);
                obj.updated_at  = DateTime.Now;

                if (_promoCode.id != 0)
                {
                    db.promo_codes.Attach(obj);
                    db.Entry(obj).State = EntityState.Modified;
                }
                else
                {
                    obj.created_at = DateTime.Now;
                    db.promo_codes.Add(obj);
                }
                db.SaveChanges();
                nID = obj.id;
            }

            return(sMessage);
        }
Пример #30
0
        /// <summary>
        /// Save or update Notification info
        /// </summary>
        /// <param name="_notification"></param>
        /// <param name="nID"></param>
        /// <returns></returns>
        public string AddNotification(CustomNotification _notification, ref long nID)
        {
            string sMessage = "Success";

            notification obj;

            if (_notification.id != 0)
            {
                obj = GetNotificationInfo(_notification.id);
            }
            else
            {
                obj = new notification();
            }


            using (var db = new TittleEntities())
            {
                obj.data              = _notification.data;
                obj.content           = _notification.content;
                obj.name              = _notification.name;
                obj.time              = DateTime.ParseExact(_notification.OnDate, "dd/MM/yyyy hh:mm tt", CultureInfo.InvariantCulture);
                obj.type              = _notification.type;
                obj.next_notification = DateTime.ParseExact(_notification.NextNotificationDate, "dd/MM/yyyy hh:mm tt", CultureInfo.InvariantCulture);
                obj.status            = _notification.status;
                obj.updated_at        = DateTime.Now;

                if (_notification.id != 0)
                {
                    db.notifications.Attach(obj);
                    db.Entry(obj).State = EntityState.Modified;
                }
                else
                {
                    obj.created_at = DateTime.Now;
                    db.notifications.Add(obj);
                }
                db.SaveChanges();
                nID = obj.id;
            }

            return(sMessage);
        }