public static Common.Models.Matters.MatterTag Enable(
     Transaction t,
     Common.Models.Matters.MatterTag model,
     Common.Models.Account.Users enabler)
 {
     return(Enable(model, enabler, t.Connection, false));
 }
Esempio n. 2
0
        public static Common.Models.Matters.MatterTag Create(Common.Models.Matters.MatterTag model,
                                                             Common.Models.Account.Users creator)
        {
            if (!model.Id.HasValue)
            {
                model.Id = Guid.NewGuid();
            }
            model.CreatedBy = model.ModifiedBy = creator;
            model.Created   = model.Modified = DateTime.UtcNow;

            Common.Models.Tagging.TagCategory existingTagCat = Tagging.TagCategory.Get(model.TagCategory.Name);

            if (existingTagCat == null)
            {
                existingTagCat = Tagging.TagCategory.Create(model.TagCategory, creator);
            }

            model.TagCategory = existingTagCat;
            DBOs.Matters.MatterTag dbo = Mapper.Map <DBOs.Matters.MatterTag>(model);

            using (IDbConnection conn = Database.Instance.GetConnection())
            {
                conn.Execute("INSERT INTO \"matter_tag\" (\"id\", \"matter_id\", \"tag_category_id\", \"tag\", \"utc_created\", \"utc_modified\", \"created_by_user_pid\", \"modified_by_user_pid\") " +
                             "VALUES (@Id, @MatterId, @TagCategoryId, @Tag, @UtcCreated, @UtcModified, @CreatedByUserPId, @ModifiedByUserPId)",
                             dbo);
            }

            return(model);
        }
        public static List <Common.Models.Matters.MatterTag> Search(
            string text,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            List <Common.Models.Matters.MatterTag> list = new List <Common.Models.Matters.MatterTag>();
            List <DBOs.Matters.MatterTag>          dbo  = null;

            conn = DataHelper.OpenIfNeeded(conn);

            dbo = conn.Query <DBOs.Matters.MatterTag>(
                "SELECT * FROM \"matter_tag\" WHERE LOWER(\"tag\") LIKE '%' || @Query || '%'",
                new { Query = text }).ToList();

            dbo.ForEach(x =>
            {
                Common.Models.Matters.MatterTag mt = Mapper.Map <Common.Models.Matters.MatterTag>(x);
                mt.TagCategory = Tagging.TagCategory.Get(mt.TagCategory.Id, conn, closeConnection);
                mt.Matter      = Matter.Get(mt.Matter.Id.Value, conn, closeConnection);
                list.Add(mt);
            });

            DataHelper.Close(conn, closeConnection);

            return(list);
        }
        public static Common.Models.Matters.MatterTag Create(
            Common.Models.Matters.MatterTag model,
            Common.Models.Account.Users creator,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            if (!model.Id.HasValue)
            {
                model.Id = Guid.NewGuid();
            }
            model.CreatedBy = model.ModifiedBy = creator;
            model.Created   = model.Modified = DateTime.UtcNow;

            conn = DataHelper.OpenIfNeeded(conn);

            Common.Models.Tagging.TagCategory existingTagCat = Tagging.TagCategory.Get(model.TagCategory.Name, conn, false);

            if (existingTagCat == null)
            {
                existingTagCat = Tagging.TagCategory.Create(model.TagCategory, creator, conn, false);
            }

            model.TagCategory = existingTagCat;
            DBOs.Matters.MatterTag dbo = Mapper.Map <DBOs.Matters.MatterTag>(model);

            conn.Execute("INSERT INTO \"matter_tag\" (\"id\", \"matter_id\", \"tag_category_id\", \"tag\", \"utc_created\", \"utc_modified\", \"created_by_user_pid\", \"modified_by_user_pid\") " +
                         "VALUES (@Id, @MatterId, @TagCategoryId, @Tag, @UtcCreated, @UtcModified, @CreatedByUserPId, @ModifiedByUserPId)",
                         dbo);

            DataHelper.Close(conn, closeConnection);

            return(model);
        }
 public static Common.Models.Matters.MatterTag Create(
     Transaction t,
     Common.Models.Matters.MatterTag model,
     Common.Models.Account.Users creator)
 {
     return(Create(model, creator, t.Connection, false));
 }
 public static Common.Models.Matters.MatterTag Edit(
     Transaction t,
     Common.Models.Matters.MatterTag model,
     Common.Models.Account.Users modifier)
 {
     return(Edit(model, modifier, t.Connection, false));
 }
 private static Common.Models.Tagging.TagCategory AddOrChangeTagCategory(
     Transaction t,
     Common.Models.Matters.MatterTag tag,
     Common.Models.Account.Users modifier)
 {
     return(AddOrChangeTagCategory(tag, modifier, t.Connection, false));
 }
 private static Common.Models.Tagging.TagCategory UpdateTagCategory(
     Transaction t,
     Common.Models.Matters.MatterTag model,
     Common.Models.Account.Users modifier)
 {
     return(UpdateTagCategory(model, modifier, t.Connection, false));
 }
Esempio n. 9
0
        public static Common.Models.Matters.MatterTag Disable(Common.Models.Matters.MatterTag model,
                                                              Common.Models.Account.Users disabler)
        {
            model.DisabledBy = disabler;
            model.Disabled   = DateTime.UtcNow;

            DataHelper.Disable <Common.Models.Matters.MatterTag,
                                DBOs.Matters.MatterTag>("matter_tag", disabler.PId.Value, model.Id);

            return(model);
        }
Esempio n. 10
0
        public static Common.Models.Matters.MatterTag Enable(Common.Models.Matters.MatterTag model,
                                                             Common.Models.Account.Users enabler)
        {
            model.ModifiedBy = enabler;
            model.Modified   = DateTime.UtcNow;
            model.DisabledBy = null;
            model.Disabled   = null;

            DataHelper.Enable <Common.Models.Matters.MatterTag,
                               DBOs.Matters.MatterTag>("matter_tag", enabler.PId.Value, model.Id);

            return(model);
        }
Esempio n. 11
0
        public static Common.Models.Matters.MatterTag Disable(
            Common.Models.Matters.MatterTag model,
            Common.Models.Account.Users disabler,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            model.DisabledBy = disabler;
            model.Disabled   = DateTime.UtcNow;

            DataHelper.Disable <Common.Models.Matters.MatterTag,
                                DBOs.Matters.MatterTag>("matter_tag", disabler.PId.Value, model.Id, conn, closeConnection);

            return(model);
        }
Esempio n. 12
0
        public static Common.Models.Matters.MatterTag Edit(Common.Models.Matters.MatterTag model,
                                                           Common.Models.Account.Users modifier)
        {
            model.ModifiedBy = modifier;
            model.Modified   = DateTime.UtcNow;
            DBOs.Matters.MatterTag dbo = Mapper.Map <DBOs.Matters.MatterTag>(model);

            using (IDbConnection conn = Database.Instance.GetConnection())
            {
                conn.Execute("UPDATE \"matter_tag\" SET " +
                             "\"matter_id\"=@MatterId, \"tag\"=@Tag, \"utc_modified\"=@UtcModified, \"modified_by_user_pid\"=@ModifiedByUserPId " +
                             "WHERE \"id\"=@Id", dbo);
            }

            model.TagCategory = UpdateTagCategory(model, modifier);

            return(model);
        }
Esempio n. 13
0
        private static Common.Models.Tagging.TagCategory UpdateTagCategory(
            Common.Models.Matters.MatterTag model,
            Common.Models.Account.Users modifier,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            Common.Models.Matters.MatterTag currentTag = Get(model.Id.Value, conn, false);

            if (currentTag.TagCategory != null)
            {
                if (model.TagCategory != null && !string.IsNullOrEmpty(model.TagCategory.Name))
                { // If current has tag & new has tag
                    // Are they the same - ignore if so
                    if (currentTag.Tag != model.Tag)
                    {
                        // Update - change tagcat
                        model.TagCategory = AddOrChangeTagCategory(model, modifier, conn, false);
                    }
                }
                else
                {
                    // If current has tag & new !has tag
                    // Update - drop tagcat
                    currentTag.TagCategory = null;

                    conn.Execute("UPDATE \"matter_tag\" SET \"tag_category_id\"=null WHERE \"id\"=@Id",
                                 new { Id = model.Id.Value });
                }
            }
            else
            {
                if (model.TagCategory != null && !string.IsNullOrEmpty(model.TagCategory.Name))
                { // If current !has tag & new has tag
                    // Update - add tagcat
                    model.TagCategory = AddOrChangeTagCategory(model, modifier, conn, false);
                }

                // If current !has tag & new !has tag - do nothing
            }

            DataHelper.Close(conn, closeConnection);

            return(model.TagCategory);
        }
Esempio n. 14
0
        public static Common.Models.Matters.MatterTag Get(Guid id)
        {
            Common.Models.Matters.MatterTag model =
                DataHelper.Get <Common.Models.Matters.MatterTag, DBOs.Matters.MatterTag>(
                    "SELECT * FROM \"matter_tag\" WHERE \"id\"=@id AND \"utc_disabled\" is null",
                    new { id = id });

            if (model == null)
            {
                return(null);
            }

            if (model.TagCategory != null)
            {
                model.TagCategory = Tagging.TagCategory.Get(model.TagCategory.Id);
            }

            return(model);
        }
Esempio n. 15
0
        private static Common.Models.Tagging.TagCategory AddOrChangeTagCategory(
            Common.Models.Matters.MatterTag tag,
            Common.Models.Account.Users modifier,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            Common.Models.Tagging.TagCategory newTagCat = null;

            // Check for existing name
            if (tag.TagCategory != null && !string.IsNullOrEmpty(tag.TagCategory.Name))
            {
                newTagCat = Tagging.TagCategory.Get(tag.TagCategory.Name, conn, false);
            }

            // Either need to use existing or create a new tag category
            if (newTagCat != null)
            {
                // Can use existing
                tag.TagCategory = newTagCat;

                // If new tagcat was disabled, it needs enabled
                if (newTagCat.Disabled.HasValue)
                {
                    tag.TagCategory = Tagging.TagCategory.Enable(tag.TagCategory, modifier, conn, false);
                }
            }
            else
            {
                // Add one
                tag.TagCategory = Tagging.TagCategory.Create(tag.TagCategory, modifier, conn, false);
            }

            conn = DataHelper.OpenIfNeeded(conn);

            // Update MatterTag's TagCategoryId
            conn.Execute("UPDATE \"matter_tag\" SET \"tag_category_id\"=@TagCategoryId WHERE \"id\"=@Id",
                         new { Id = tag.Id.Value, TagCategoryId = tag.TagCategory.Id });

            DataHelper.Close(conn, closeConnection);

            return(tag.TagCategory);
        }
Esempio n. 16
0
        public static Common.Models.Matters.MatterTag Edit(
            Common.Models.Matters.MatterTag model,
            Common.Models.Account.Users modifier,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            model.ModifiedBy = modifier;
            model.Modified   = DateTime.UtcNow;
            DBOs.Matters.MatterTag dbo = Mapper.Map <DBOs.Matters.MatterTag>(model);

            conn = DataHelper.OpenIfNeeded(conn);

            conn.Execute("UPDATE \"matter_tag\" SET " +
                         "\"matter_id\"=@MatterId, \"tag\"=@Tag, \"utc_modified\"=@UtcModified, \"modified_by_user_pid\"=@ModifiedByUserPId " +
                         "WHERE \"id\"=@Id", dbo);

            model.TagCategory = UpdateTagCategory(model, modifier, conn, false);

            DataHelper.Close(conn, closeConnection);

            return(model);
        }
Esempio n. 17
0
        public static List <Common.Models.Matters.MatterTag> Search(string text)
        {
            List <Common.Models.Matters.MatterTag> list = new List <Common.Models.Matters.MatterTag>();
            List <DBOs.Matters.MatterTag>          dbo  = null;

            using (IDbConnection conn = Database.Instance.GetConnection())
            {
                dbo = conn.Query <DBOs.Matters.MatterTag>(
                    "SELECT * FROM \"matter_tag\" WHERE LOWER(\"tag\") LIKE '%' || @Query || '%'",
                    new { Query = text }).ToList();
            }

            dbo.ForEach(x =>
            {
                Common.Models.Matters.MatterTag mt = Mapper.Map <Common.Models.Matters.MatterTag>(x);
                mt.TagCategory = Tagging.TagCategory.Get(mt.TagCategory.Id);
                mt.Matter      = Matter.Get(mt.Matter.Id.Value);
                list.Add(mt);
            });

            return(list);
        }
Esempio n. 18
0
        private static Common.Models.Tagging.TagCategory AddOrChangeTagCategory(
            Common.Models.Matters.MatterTag tag,
            Common.Models.Account.Users modifier)
        {
            Common.Models.Tagging.TagCategory newTagCat = null;

            // Check for existing name
            if (tag.TagCategory != null && !string.IsNullOrEmpty(tag.TagCategory.Name))
            {
                newTagCat = Tagging.TagCategory.Get(tag.TagCategory.Name);
            }

            // Either need to use existing or create a new tag category
            if (newTagCat != null)
            {
                // Can use existing
                tag.TagCategory = newTagCat;

                // If new tagcat was disabled, it needs enabled
                if (newTagCat.Disabled.HasValue)
                {
                    tag.TagCategory = Tagging.TagCategory.Enable(tag.TagCategory, modifier);
                }
            }
            else
            {
                // Add one
                tag.TagCategory = Tagging.TagCategory.Create(tag.TagCategory, modifier);
            }

            // Update MatterTag's TagCategoryId
            using (IDbConnection conn = Database.Instance.GetConnection())
            {
                conn.Execute("UPDATE \"matter_tag\" SET \"tag_category_id\"=@TagCategoryId WHERE \"id\"=@Id",
                             new { Id = tag.Id.Value, TagCategoryId = tag.TagCategory.Id });
            }

            return(tag.TagCategory);
        }
Esempio n. 19
0
        public static Common.Models.Matters.MatterTag Get(
            Guid id,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            Common.Models.Matters.MatterTag model =
                DataHelper.Get <Common.Models.Matters.MatterTag, DBOs.Matters.MatterTag>(
                    "SELECT * FROM \"matter_tag\" WHERE \"id\"=@id AND \"utc_disabled\" is null",
                    new { id = id }, conn, false);

            if (model == null)
            {
                return(null);
            }

            if (model.TagCategory != null)
            {
                model.TagCategory = Tagging.TagCategory.Get(model.TagCategory.Id, conn, false);
            }

            DataHelper.Close(conn, closeConnection);

            return(model);
        }