Exemplo n.º 1
0
 public static RvsSavedProperties LoadFrom(long id, ILogMonitor logMonitor)
 {
     using (var db = new DB_RvsSettingsDataContext(SpecificInstances.DbFactory.CreateConnection()))
     {
         return(LoadFrom(db, db.RVS_Properties.FirstOrDefault(r => r.id == id)));
     }
 }
Exemplo n.º 2
0
        private static RvsSavedProperties LoadFrom(DB_RvsSettingsDataContext db, RVS_Property row)
        {
            if (row == null)
            {
                return(null);
            }
            var properties = new RvsSavedProperties
            {
                Grouping         = row.Grouping.Elements("GroupColumn").Select(r => (GroupColumn)r.Value).ToList(),
                OrderByColumns   = row.OrderByColumns == null ? null : string.Join(",", row.OrderByColumns.Elements("OrderColumn").Select(r => r.Value).ToArray()),
                PageUrl          = row.Filter == null ? null : row.Filter.Value,
                ReportPluginName = row.ReportPluginName,
                NameRu           = row.nameRu,
                NameKz           = row.nameKz,
                JournalTypeName  = row.JournalTypeName,
            };

            ReadFixedHeader(row, properties);
            ReadColumnHierarchy(row, properties);
            ReadRowsProperties(row, properties);
            ReadStorageValues(row, properties);
            ReadCellsProperties(row, properties);
            ReadOtherParameters(row, properties);
            return(properties);
        }
Exemplo n.º 3
0
 public long Save()
 {
     using (var db = new DB_RvsSettingsDataContext(SpecificInstances.DbFactory.CreateConnection()))
     {
         var row = SaveProperties(db);
         db.SubmitChanges();
         return(row.id);
     }
 }
Exemplo n.º 4
0
 public static RvsSavedProperties LoadBySavedViewSettings(long idSavedProperty, ILogMonitor logMonitor)
 {
     using (var db = new DB_RvsSettingsDataContext(SpecificInstances.DbFactory.CreateConnection()))
     {
         var row = db.RVS_SavedProperties.
                   Where(r => r.id == idSavedProperty &&
                         (r.isSharedView || r.UserSID == User.GetSID())).
                   Select(r => r.RVS_Property).
                   FirstOrDefault();
         return(LoadFrom(db, row));
     }
 }
Exemplo n.º 5
0
        public static bool DeleteProperties(long id)
        {
            using (var db = new DB_RvsSettingsDataContext(SpecificInstances.DbFactory.CreateConnection()))
            {
                var data = db.RVS_SavedProperties.
                           Where(r => r.id == id);
                if (UserRoles.IsInRole(UserRoles.AllowChangeOrDeleteJournalSettingsAsShared))
                {
                    data = data.Where(r => r.UserSID == User.GetSID() || r.isSharedView);
                }
                else
                {
                    data = data.Where(r => r.UserSID == User.GetSID());
                }

                var row = data.FirstOrDefault();
                if (row == null)
                {
                    return(false);
                }
                db.Connection.Open();
                DbTransaction transaction = null;
                try
                {
                    transaction    = db.Connection.BeginTransaction();
                    db.Transaction = transaction;
                    db.RVS_SavedProperties.DeleteOnSubmit(row);
                    db.RVS_Properties.DeleteOnSubmit(row.RVS_Property);
                    db.SubmitChanges();
                    transaction.Commit();
                }
                catch
                {
                    if (transaction != null)
                    {
                        transaction.Rollback();
                    }
                    return(false);
                }
                finally
                {
                    if (transaction != null)
                    {
                        transaction.Dispose();
                    }
                    db.Connection.Close();
                }
            }
            return(true);
        }
Exemplo n.º 6
0
        private RVS_Property SaveProperties(DB_RvsSettingsDataContext db)
        {
            var row = new RVS_Property
            {
                Grouping         = new XElement("Root", Grouping.Select(r => new XElement("GroupColumn", r.ToString()))),
                OrderByColumns   = new XElement("Root", (OrderByColumns ?? "").Split(',').Select(r => new XElement("OrderColumn", r.ToString()))),
                Filter           = string.IsNullOrEmpty(PageUrl) ? null : new XElement("PageUrl", PageUrl),
                ReportPluginName = ReportPluginName,
                nameRu           = NameRu,
                nameKz           = NameKz,
                JournalTypeName  = JournalTypeName,
            };

            WriteFixedHeader(row, this);
            WriteColumnHierarchy(row, this);
            WriteRowsProperties(row, this);
            WriteStorageValues(row, this);
            WriteCellsProperties(row, this);
            WriteOtherParameters(row, this);
            db.RVS_Properties.InsertOnSubmit(row);
            return(row);
        }
Exemplo n.º 7
0
        public void SaveWithViewSettings(SavingJournalSettings.SaveArgument argument, string conext)
        {
            if (!argument.saveFilters)
            {
                PageUrl = null;
            }
            using (var db = new DB_RvsSettingsDataContext(SpecificInstances.DbFactory.CreateConnection()))
            {
                db.Connection.Open();
                DbTransaction transaction = null;
                try
                {
                    transaction    = db.Connection.BeginTransaction();
                    db.Transaction = transaction;
                    var row = SaveProperties(db);
                    db.SubmitChanges();

                    RVS_SavedProperty viewRow = null;
                    if (argument.id != null)
                    {
                        var data = db.RVS_SavedProperties.
                                   Where(r => r.id == argument.id);
                        if (UserRoles.IsInRole(UserRoles.AllowChangeOrDeleteJournalSettingsAsShared))
                        {
                            data = data.Where(r => r.isSharedView || r.UserSID == User.GetSID());
                        }
                        else
                        {
                            data = data.Where(r => r.UserSID == User.GetSID());
                        }
                        viewRow = data.FirstOrDefault();
                    }
                    if (viewRow == null)
                    {
                        viewRow = new RVS_SavedProperty();
                        db.RVS_SavedProperties.InsertOnSubmit(viewRow);
                    }

                    viewRow.context         = conext;
                    viewRow.dateTime        = DateTime.Now;
                    viewRow.isDefaultView   = false;
                    viewRow.isSharedView    = argument.saveAsShared && UserRoles.IsInRole(UserRoles.AllowSaveJournalSettingsAsShared);
                    viewRow.JournalTypeName = JournalTypeName;
                    viewRow.nameRu          = argument.nameRu;
                    viewRow.nameKz          = argument.nameKz;
                    viewRow.UserSID         = User.GetSID();
                    viewRow.refProperties   = row.id;

                    db.SubmitChanges();
                    db.Transaction.Commit();
                }
                catch
                {
                    if (transaction != null)
                    {
                        transaction.Rollback();
                    }
                }
                finally
                {
                    if (transaction != null)
                    {
                        transaction.Dispose();
                    }
                    db.Connection.Close();
                }
            }
        }