示例#1
0
        public static bool SaveLTDSubscriberData(Dictionary<Guid, LTD_Subscriber> ltdSubscriberList)
        {
            bool ret = false;
            if (ltdSubscriberList.Count > 0)
            {
                List<LTD_Subscriber> ltdSubscriberValueList = new List<LTD_Subscriber>();
                LTD_Subscriber[] ltdSubscriberArray = new LTD_Subscriber[ltdSubscriberList.Values.Count];
                ltdSubscriberList.Values.CopyTo(ltdSubscriberArray, 0);
                ltdSubscriberValueList.AddRange(ltdSubscriberArray);
                ret = JsonStore<LTD_Subscriber>.SaveData(ltdSubscriberValueList, true);
            }

            return ret;
        }
示例#2
0
        private static string GetListSingleItemView(LTD_Subscriber ltdSubscriber, long pageNo, long itemsPerPage, long dataIndex, string templateSuffix)
        {
            string htmlTextItem = "";
            if (ltdSubscriber != null)
            {
                string message;
                List<TemplateSubscriberListDetailItem.EditAction> editActionList = new List<TemplateSubscriberListDetailItem.EditAction>();
                if (UtilsSecurity.HaveAdminRole() == true)
                {
                    editActionList.Add(new TemplateSubscriberListDetailItem.EditAction
                    {
                        Id = ltdSubscriber.SubscriberID.ToString(),
                        DataIndex = dataIndex.ToString(),
                        PageNo = pageNo.ToString(),
                        ItemsPerPage = itemsPerPage.ToString(),
                        TemplateSuffix = templateSuffix
                    });
                }

                var templateItem = new TemplateSubscriberListDetailItem
                {
                    SubscriberEmail = ltdSubscriber.SubscriberEmail,
                    SubscriberMessage = ltdSubscriber.SubscriberMessage,
                    //IsDeleted = ltdSubscriber.IsDeleted

                    EditActionList = editActionList
                };
                htmlTextItem = templateItem.GetFilled(templateSuffix, UtilsGeneric.Validate,
                                                                        UtilsGeneric.ThrowException,
                                                                        out message);


            }
            return htmlTextItem;
        }
示例#3
0
        public static long InsertLtdSubscriber(LTD_Subscriber ltdSubscriber)
        {
            long id = 0;
            if (ltdSubscriber.SubscriberGUID != Guid.Empty) throw new Exception("Cannot Set the GUID for a Insert");
            ltdSubscriber.SubscriberGUID = Guid.NewGuid();
            ltdSubscriber.CreatedDate = DateTime.UtcNow;
            ltdSubscriber.LastUpdateDate = DateTime.UtcNow;
            ltdSubscriber.RevisionNo = GetMaxLtdSubscriberRevisionNo() + 1;

            Database db = HaveDb();
            if (db != null)
            {
                using (ITransaction scope = db.GetTransaction())
                {
                    db.Insert(ltdSubscriber);
                    id = ltdSubscriber.SubscriberID;
                    scope.Complete();
                }
            }
            else
            {
                Dictionary<Guid, LTD_Subscriber> fileLtdSubscriberList = FileSource.LoadLTDSubscriberData();
	  			ltdSubscriber.SubscriberID = GetMaxLtdSubscriberId("") + 1;
  
                fileLtdSubscriberList.Add(ltdSubscriber.SubscriberGUID, ltdSubscriber);
                FileSource.SaveLTDSubscriberData(fileLtdSubscriberList);

                id = ltdSubscriber.SubscriberID;
            }

            return id;
        }
示例#4
0
        public static bool UpdateLtdSubscriber(LTD_Subscriber ltdSubscriber)
        {
            bool ret = false;
            ltdSubscriber.LastUpdateDate = DateTime.UtcNow;
            Database db = HaveDb();
            if (db != null)
            {
                LTD_Subscriber ltdSubscriberExisting = GetLtdSubscriber(ltdSubscriber.SubscriberID, "");
                if (ltdSubscriberExisting != null)
                {
					ltdSubscriber.RevisionNo = GetMaxLtdSubscriberRevisionNo() + 1;                      
					using (ITransaction scope = db.GetTransaction())
					{
                        db.Update(ltdSubscriber);
                        scope.Complete();
                        ret = true;
                    }
                }
            }
            else
            {
                Dictionary<Guid, LTD_Subscriber> fileLtdSubscriberList = FileSource.LoadLTDSubscriberData();                
                if (fileLtdSubscriberList.ContainsKey(ltdSubscriber.SubscriberGUID) == true)
                {
                    fileLtdSubscriberList.Remove(ltdSubscriber.SubscriberGUID);
                    fileLtdSubscriberList.Add(ltdSubscriber.SubscriberGUID, ltdSubscriber);
                    FileSource.SaveLTDSubscriberData(fileLtdSubscriberList);
                }
            }

            return ret;
        }
示例#5
0
        public static long SaveLtdSubscriber(string subscriberEmail, string subscriberMessage, bool isDeleted, long subscriberId, out string retMessage)
        {
            long id = 0;
            string message = "";
            try
            {
                bool validationFail = false;
                if ((subscriberId > 0) && (UtilsSecurity.HaveAuthorRole() == false))
                {
                    message = "Please login with User having Author Role to Update Subscriber Data";
                    validationFail = true;
                }

                if (validationFail == false)
                {
                    if ((subscriberMessage.Trim().Length == 0) || (subscriberEmail.Trim().Length == 0))
                    {
                        message = "Missing or Empty Subscriber Argument";
                        validationFail = true;
                    }
                }

                if (validationFail == false)
                {
                    if (isDeleted == true)
                    {
                        if ((UtilsSecurity.HaveAdminRole() == false) && (UtilsSecurity.HaveAuthorRole() == false))
                        {
                            message = "Is Deleted Can be Updated Only by Users having Admin/Author Role";
                            validationFail = true;
                        }
                    }
                }

                var ltdSubscriber = new LTD_Subscriber();
                if (validationFail == false)
                {
                    if (subscriberId != 0)
                    {
                        ltdSubscriber = GetLtdSubscriber(subscriberId);
                        if (ltdSubscriber == null)
                        {
                            message = "The Subscriber having ID [" + subscriberId + "] cannot be Retrieved";
                            validationFail = true;
                        }
                    }
                    else
                    {
                        ltdSubscriber = GetLtdSubscriber(subscriberEmail);
                        if (ltdSubscriber != null)
                        {
                            message = "The Subscriber having Email [" + subscriberEmail + "] is already registered";
                            validationFail = true;
                        }
                    }
                }

                if (validationFail == false)
                {
                    if (ltdSubscriber == null) ltdSubscriber = new LTD_Subscriber();
                    ltdSubscriber.SubscriberMessage = subscriberMessage;
                    ltdSubscriber.SubscriberEmail = subscriberEmail;
                    ltdSubscriber.IsDeleted = isDeleted;

                    DataSource.BeginTransaction();

                    if (ltdSubscriber.SubscriberID == 0)
                    {
                        DataSource.InsertLtdSubscriber(ltdSubscriber);
                        id = ltdSubscriber.SubscriberID;
                    }
                    else
                    {
                        DataSource.UpdateLtdSubscriber(ltdSubscriber);
                        id = ltdSubscriber.SubscriberID;
                    }
                    if (id > 0) DataSource.CompleteTransaction();
                }
            }
            catch (Exception ex)
            {
                id = 0;
                message = "DBError:" + ex.Message;
                LogManager.Log(LogLevel.Error, "DataInfoList-SaveLtdSubscriber", message);
                DataSource.AbortTransaction();
            }

            retMessage = message;
            return id;
        }