Пример #1
0
        public ActionResult CreateOrEditTag(TagModel model)
        {
            var Tag = new Tag();

            if (!ModelState.IsValid)
                return View(model);

            if (model.ID == 0)
            {
                if (TagService.GetTags().Any(t => t.Title == model.Title))
                    ModelState.AddModelError("Title", "ასეთი კატეგორია უკვე არსებობს");

                if (!ModelState.IsValid)
                    return View(model);

                Tag.Title = model.Title;
                Tag.AddedDate = DateTime.UtcNow;

                TagService.Insert(Tag);
                if (Tag.ID > 0)
                {
                    return RedirectToAction("index");
                }
            }

            else
            {
                Tag TagEntity = TagService.GetTag(model.ID);
                TagEntity.Title = model.Title;

                TagService.UpdateTag(TagEntity);
                if (TagEntity.ID > 0)
                {
                    return RedirectToAction("index");
                }

            }
            return View(model);
        }
Пример #2
0
        private IEnumerable<Tag> ReconsileTags(IEnumerable<TagCheckbox> list)
        {
            foreach (var tag in list.Where(t => t.IsChecked))
            {
                if (tag.Id != null)
                {
                    yield return tagService.GetTag((long)tag.Id);
                    continue;
                }

                var existingTag = tagService.GetTags().FirstOrDefault(t => t.Title == tag.Name);
                if (existingTag!=null)
                {
                    yield return existingTag;
                    continue;
                }

                var newTag = new Tag
                {
                    Title = tag.Name
                };

                tagService.Insert(newTag);
                yield return newTag;
            }
        }
Пример #3
0
        public ActionResult SearchResults(Tag tag)
        {
            ViewBag.Ups = "";

            if (string.IsNullOrWhiteSpace(tag.Title))
            {
                ViewBag.Ups = "შიგ ხომ სე?";
                return PartialView("_searchRes", null);
            }

            List<Tag> tags = tagService.GetTags().Where(t => t.Title.StartsWith(tag.Title)).ToList();

            if (tags.Capacity != 0)
            {
                ViewBag.Ups = "nice";
                return PartialView("_searchRes",tags);
            }

            ViewBag.Ups = "არ მოიძებნა";
            return PartialView("_searchRes",tags);
        }
Пример #4
0
        public ActionResult JsonAdd(Tag tag)
        {
            if(string.IsNullOrWhiteSpace(tag.Title))
            {
                return PartialView("_tag");
            }

            tag.AddedDate = DateTime.UtcNow;

            var someTag = tagService.GetTags().Where(t => t.Title == tag.Title);
            if (someTag.Count() !=0)
            {
                ViewBag.Success = "false";
                return PartialView("_tag");
            }

            ViewBag.Success = "true";
            tagService.Insert(tag);

            return PartialView("_tag");
        }
Пример #5
0
        internal static List<Tag> GetPagedTags(PagingContext pager)
        {
            List<Tag> list = new List<Tag>(pager.RecordsPerPage);

            SafeProcedure.ExecuteAndMapRecords(Database.GetDatabase(D4DDefine.DBInstanceName),
               "dbo.GetPagedTags",
               delegate(IParameterSet parameters)
               {
                   parameters.AddWithValue("@PageIndex", pager.CurrentPageNumber);
                   parameters.AddWithValue("@PageSize", pager.RecordsPerPage);
                   parameters.AddWithValue("@NumberOfCount", 0, ParameterDirectionWrap.Output);
               },
               delegate(IRecord record)
               {
                   Tag tag = new Tag();
                   tag.TagId = record.GetInt32OrDefault(0, 0);
                   tag.TagName = record.GetStringOrEmpty(1);
                   tag.Hits = record.GetInt32OrDefault(2, 0);
                   tag.AddUserID = record.GetInt32OrDefault(3, 0);
                   tag.AddDate = record.GetDateTime(4);

                   list.Add(tag);
               },
               delegate(IParameterSet outputParameters)
               {
                   pager.TotalRecordCount = outputParameters.GetValue("@NumberOfCount") == DBNull.Value ? 0 : (int)outputParameters.GetValue("@NumberOfCount");
               }
               );

            return list;
        }
Пример #6
0
        /// <summary>
        /// tagid<0 表示新增
        /// >0 则为更新
        /// </summary>
        /// <param name="tag"></param>
        /// <returns></returns>
        internal static int SetTag(Tag tag)
        {
            if (tag == null) return -1;

               SafeProcedure.ExecuteNonQuery(
                Database.GetDatabase(D4DDefine.DBInstanceName),
                "dbo.Tags_AddTag",
                delegate(IParameterSet parameters)
                {
                    parameters.AddWithValue("@TagID", tag.TagId);
                    parameters.AddWithValue("@Name", tag.TagName);
                    parameters.AddWithValue("@AddUserID", tag.AddUserID);
                    parameters.AddWithValue("@RetVal", DBNull.Value, ParameterDirectionWrap.ReturnValue);

                },
                delegate(IParameterSet outputParameters)
                {
                    tag.TagId = Convert.ToInt32(outputParameters.GetValue("@RetVal"));
                });

               return tag.TagId;
        }
Пример #7
0
        /// <summary>
        /// 获取tag的top列表
        /// </summary>
        /// <param name="maxCount"></param>
        /// <returns></returns>
        internal static List<Tag> GetTopTags(int maxCount)
        {
            List<Tag> list = new List<Tag>(maxCount);

            SafeProcedure.ExecuteAndMapRecords(
                        Database.GetDatabase(D4DDefine.DBInstanceName),
                     "dbo.Tags_GetTopTag",
                     delegate(IRecord record)
                     {
                         Tag tag = new Tag();
                         tag.TagId = record.GetInt32OrDefault(0, 0);
                         tag.TagName = record.GetStringOrEmpty(1);
                         tag.Hits = record.GetInt32OrDefault(2, 0);
                         tag.AddUserID = record.GetInt32OrDefault(3, 0);
                         tag.AddDate = record.GetDateTime(4);

                         list.Add(tag);
                     },
                     maxCount);

            return list;
        }
Пример #8
0
        internal static Dictionary<int, Tag> GetTags20(List<int> tagIds)
        {
            Dictionary<int, Tag> dic = new Dictionary<int, Tag>();

            if (tagIds != null && tagIds.Count > 0)
            {
                SafeProcedure.ExecuteAndMapRecords(Database.GetDatabase(D4DDefine.DBInstanceName),
               "dbo.Tags_GetTags20",
               delegate(IParameterSet parameters)
               {
                   int maxCount = tagIds.Count > 20 ? 20 : tagIds.Count;
                   for (int i = 0; i < maxCount; i++)
                   {
                       parameters.AddWithValue("@tid" + (i + 1).ToString(), tagIds[i]);
                   }
               },
               delegate(IRecord record)
               {
                   Tag tag = new Tag();
                   tag.TagId = record.GetInt32OrDefault(0, 0);
                   tag.TagName = record.GetStringOrEmpty(1);
                   tag.Hits = record.GetInt32OrDefault(2, 0);
                   tag.AddUserID = record.GetInt32OrDefault(3, 0);
                   tag.AddDate = record.GetDateTime(4);

                   if (!dic.ContainsKey(tag.TagId))
                       dic.Add(tag.TagId, tag);
               }
               );
            }

            return dic;
        }
Пример #9
0
 /// <summary>
 /// 获取OneTag
 /// </summary>
 /// <param name="tagId"></param>
 /// <returns></returns>
 internal static Tag GetTag(int tagId)
 {
     Tag tag = new Tag(tagId);
     if (tagId > 0)
     {
         SafeProcedure.ExecuteAndMapRecords(
                 Database.GetDatabase(D4DDefine.DBInstanceName),
              "dbo.Tags_GetTag",
              delegate(IRecord record)
              {
                  tag.TagName = record.GetStringOrEmpty(1);
                  tag.Hits = record.GetInt32OrDefault(2,0);
                  tag.AddUserID = record.GetInt32OrDefault(3,0);
                  tag.AddDate = record.GetDateTime(4);
              },
              tagId);
     }
     return tag;
 }