Пример #1
0
        public static string Delete(SiteSettings ss, int deptId)
        {
            var deptModel = new DeptModel(ss, deptId);
            var invalid   = DeptValidators.OnDeleting(ss, deptModel);

            switch (invalid)
            {
            case Error.Types.None: break;

            default: return(invalid.MessageJson());
            }
            var error = deptModel.Delete(ss);

            if (error.Has())
            {
                return(error.MessageJson());
            }
            else
            {
                Sessions.Set("Message", Messages.Deleted(deptModel.Title.Value).Html);
                var res = new DeptsResponseCollection(deptModel);
                res
                .SetMemory("formChanged", false)
                .Href(Locations.Index("Depts"));
                return(res.ToJson());
            }
        }
Пример #2
0
        public static string Update(SiteSettings ss, int deptId)
        {
            var deptModel = new DeptModel(ss, deptId, setByForm: true);
            var invalid   = DeptValidators.OnUpdating(ss, deptModel);

            switch (invalid)
            {
            case Error.Types.None: break;

            default: return(invalid.MessageJson());
            }
            if (deptModel.AccessStatus != Databases.AccessStatuses.Selected)
            {
                return(Messages.ResponseDeleteConflicts().ToJson());
            }
            var error = deptModel.Update(ss);

            if (error.Has())
            {
                return(error == Error.Types.UpdateConflicts
                    ? Messages.ResponseUpdateConflicts(deptModel.Updator.Name).ToJson()
                    : new ResponseCollection().Message(error.Message()).ToJson());
            }
            else
            {
                var res = new DeptsResponseCollection(deptModel);
                return(ResponseByUpdate(res, ss, deptModel)
                       .PrependComment(ss, deptModel.Comments, deptModel.VerType)
                       .ToJson());
            }
        }
Пример #3
0
 private static ResponseCollection ResponseByUpdate(
     DeptsResponseCollection res,
     Context context,
     SiteSettings ss,
     DeptModel deptModel)
 {
     return(res
            .Ver(context: context)
            .Timestamp(context: context)
            .Val("#VerUp", false)
            .Disabled("#VerUp", false)
            .Html("#HeaderTitle", deptModel.Title.Value)
            .Html("#RecordInfo", new HtmlBuilder().RecordInfo(
                      context: context,
                      baseModel: deptModel,
                      tableName: "Depts"))
            .SetMemory("formChanged", false)
            .Message(Messages.Updated(deptModel.Title.Value))
            .Comment(
                context: context,
                ss: ss,
                column: ss.GetColumn(context: context, columnName: "Comments"),
                comments: deptModel.Comments,
                deleteCommentId: deptModel.DeleteCommentId)
            .ClearFormData());
 }
Пример #4
0
 private static ResponseCollection ResponseByUpdate(
     DeptsResponseCollection res,
     SiteSettings ss,
     DeptModel deptModel)
 {
     return(res
            .Ver()
            .Timestamp()
            .Val("#VerUp", false)
            .Disabled("#VerUp", false)
            .Html("#HeaderTitle", deptModel.Title.Value)
            .Html("#RecordInfo", new HtmlBuilder().RecordInfo(
                      baseModel: deptModel, tableName: "Depts"))
            .SetMemory("formChanged", false)
            .Message(Messages.Updated(deptModel.Title.ToString()))
            .RemoveComment(deptModel.DeleteCommentId, _using: deptModel.DeleteCommentId != 0)
            .ClearFormData());
 }
Пример #5
0
        public static string Update(Context context, SiteSettings ss, int deptId)
        {
            var deptModel = new DeptModel(
                context: context, ss: ss, deptId: deptId, setByForm: true);
            var invalid = DeptValidators.OnUpdating(
                context: context, ss: ss, deptModel: deptModel);

            switch (invalid)
            {
            case Error.Types.None: break;

            default: return(invalid.MessageJson());
            }
            if (deptModel.AccessStatus != Databases.AccessStatuses.Selected)
            {
                return(Messages.ResponseDeleteConflicts().ToJson());
            }
            var error = deptModel.Update(context: context, ss: ss);

            switch (error)
            {
            case Error.Types.None:
                var res = new DeptsResponseCollection(deptModel);
                return(ResponseByUpdate(res, context, ss, deptModel)
                       .PrependComment(
                           context: context,
                           ss: ss,
                           column: ss.GetColumn(context: context, columnName: "Comments"),
                           comments: deptModel.Comments,
                           verType: deptModel.VerType)
                       .ToJson());

            case Error.Types.UpdateConflicts:
                return(Messages.ResponseUpdateConflicts(
                           deptModel.Updator.Name)
                       .ToJson());

            default:
                return(error.MessageJson());
            }
        }
Пример #6
0
        public static string Restore(SiteSettings ss, int deptId)
        {
            var deptModel = new DeptModel();
            var invalid   = DeptValidators.OnRestoring();

            switch (invalid)
            {
            case Error.Types.None: break;

            default: return(invalid.MessageJson());
            }
            var error = deptModel.Restore(ss, deptId);

            if (error.Has())
            {
                return(error.MessageJson());
            }
            else
            {
                var res = new DeptsResponseCollection(deptModel);
                return(res.ToJson());
            }
        }