コード例 #1
0
        public ActionResult SetReportDefault(int reportId)
        {
            var userId = User.Identity.GetUserId <int>();

            using (var db = NewDbContext())
            {
                var setting = db.Settings.Where(r => r.Category == SettingsCategory_Reports + "Default" && r.Key == userId.ToString()).SingleOrDefault();
                if (setting == null)
                {
                    if (reportId != 0)
                    {
                        setting = new ZPM.NetDb.Models.Setting()
                        {
                            Category        = SettingsCategory_Reports + "Default",
                            Key             = userId.ToString(),
                            CreatedByUserId = userId,
                            ChangedByUserId = userId,
                        };
                        setting.CreatedDttm = setting.ChangedDttm = DateTime.Now;
                        setting.Value       = reportId.ToString();
                        db.Settings.Add(setting);
                        db.SaveChanges();
                    }
                }
                else if (reportId == 0)
                {
                    db.Settings.Remove(setting);
                    db.SaveChanges();
                }
                else
                {
                    setting.ChangedByUserId = userId;
                    setting.ChangedDttm     = DateTime.Now;
                    setting.Value           = reportId.ToString();
                    db.SaveChanges();
                }
            }
            return(GetReports(reportId));
        }
コード例 #2
0
        public ActionResult SaveReport(string action, ReportParameters parms)
        {
            var userId            = User.Identity.GetUserId <int>();
            int selectedtReportId = 0;

            try
            {
                string strParms = new JavaScriptSerializer().Serialize(parms);
                using (var db = NewDbContext())
                {
                    ZPM.NetDb.Models.Setting setting = null;

                    if (action != "Add")
                    {
                        setting = db.Settings.Where(r => r.SettingId == parms.ReportId).Single();
                    }

                    string key = parms.ReportName;
                    if (action != "Delete")
                    {
                        if (parms.Share == "NoShare")
                        {
                            key += "|" + userId.ToString();  // allow dupldate names per user
                        }
                        else
                        {
                            key += "|Share";
                        }
                    }

                    switch (action)
                    {
                    case "Add":
                        setting = new ZPM.NetDb.Models.Setting()
                        {
                            Category = SettingsCategory_Reports, Key = key
                        };
                        setting.Value           = strParms;
                        setting.CreatedByUserId = setting.ChangedByUserId = userId;
                        setting.CreatedDttm     = setting.ChangedDttm = DateTime.Now;
                        db.Settings.Add(setting);
                        db.SaveChanges();
                        selectedtReportId = setting.SettingId;
                        break;

                    case "Update":
                        if (setting.Value != strParms || setting.Key != key)     // if settings changed
                        {
                            setting.Key             = key;
                            setting.Value           = strParms;
                            setting.ChangedByUserId = userId;
                            setting.ChangedDttm     = DateTime.Now;
                            db.SaveChanges();
                        }
                        selectedtReportId = setting.SettingId;
                        break;

                    case "Delete":
                        if (setting != null)      // if found, delete it
                        {
                            db.Settings.Remove(setting);
                            db.SaveChanges();
                        }
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                ex = Zpm.GetInnerException(ex);
                if (ex.Message.ToUpper().Contains("DUPLICATE"))
                {
                    return(Json("Cannot add duplicate Report Name"));
                }
                throw ex;
            }
            return(GetReports(selectedtReportId));
        }