示例#1
0
        /// <summary>
        /// Insert module data into db
        /// </summary>
        /// <param name="moduleName"></param>
        /// <param name="insertedId"></param>
        /// <param name="moduleFieldsData"></param>
        /// <param name="classDetails"></param>
        /// <returns></returns>
        public static int InsertOrUpdateDataToDB <T>(T objectData, CrudActions action, int objectId = -1)
        {
            int InsertOrUpdatedId = -1;

            try
            {
                if (!_isServerConnected)
                {
                    switch (action)
                    {
                    case CrudActions.Create:
                        InsertOrUpdatedId = _sqLiteCon.Insert(objectData);
                        break;

                    case CrudActions.Update:
                        InsertOrUpdatedId = _sqLiteCon.Update(objectData);
                        break;

                    case CrudActions.Delete:
                        Class classObjectInfo = objectData as Class;
                        if (classObjectInfo != null)
                        {
                            List <string> filesList = _sqLiteCon.Table <LibraryThumbs>().Where(s => s.ClassId == classObjectInfo.ClassId).Select(s => s.AttachmentLocalPath).ToList();
                            filesList.Where(s => !s.Contains("pack://application:,,,/WallX.Resources")).ToList().ForEach(s => { File.Delete(s); File.Delete(Constants.AttachmentResourceThumbs + Path.GetFileNameWithoutExtension(s) + ".png"); });

                            _sqLiteCon.ExecuteScalar <int>("Delete from participants where class_id = " + classObjectInfo.ClassId);
                            _sqLiteCon.ExecuteScalar <int>("Delete from agendas where class_id = " + classObjectInfo.ClassId);
                            _sqLiteCon.ExecuteScalar <int>("Delete from board_annotation where class_id = " + classObjectInfo.ClassId);
                            _sqLiteCon.ExecuteScalar <int>("Delete from library_thumb where class_id = " + classObjectInfo.ClassId);
                            _sqLiteCon.ExecuteScalar <int>("Delete from image_annotation where class_id = " + classObjectInfo.ClassId);
                        }
                        InsertOrUpdatedId = _sqLiteCon.Delete(objectData);
                        break;
                    }

                    //if (InsertOrUpdatedId == 1 && action != CrudActions.Delete && action != CrudActions.Update)
                    //    InsertOrUpdatedId = _sqLiteCon.ExecuteScalar<int>("SELECT last_insert_rowid()");
                }
                else
                {
                    switch (action)
                    {
                    case CrudActions.Create:
                        InsertOrUpdatedId = _apiService.InsertOrUpdateDataToDB(typeof(StorageObjects), objectData, NextGen.Controls.Services.CrudAction.Create);
                        break;

                    case CrudActions.Update:
                        InsertOrUpdatedId = _apiService.InsertOrUpdateDataToDB(typeof(StorageObjects), objectData, NextGen.Controls.Services.CrudAction.Update);
                        break;

                    case CrudActions.Delete:
                        InsertOrUpdatedId = _apiService.DeleteModuleItem(objectData.GetType().Name, objectId) ? 1 : 0;
                        break;
                    }
                }
            }
            catch (Exception ex) { App.InsertException(ex); }

            return(InsertOrUpdatedId);
        }
示例#2
0
 public static RbacSegment GetSegment(CrudActions action)
 {
     return(action switch
     {
         CrudActions.Create => CrudActionSegments.Create,
         CrudActions.Read => CrudActionSegments.Read,
         CrudActions.Update => CrudActionSegments.Update,
         CrudActions.Delete => CrudActionSegments.Delete,
         _ => new RbacSegment(action.ToString())
     });
示例#3
0
        public static RbacSegment GetSegment(CrudActions action)
        {
            switch (action)
            {
            case CrudActions.Create:
                return(CrudActionSegments.Create);

            case CrudActions.Read:
                return(CrudActionSegments.Read);

            case CrudActions.Update:
                return(CrudActionSegments.Update);

            case CrudActions.Delete:
                return(CrudActionSegments.Delete);

            default:
                return(new RbacSegment(action.ToString()));
            }
        }
示例#4
0
 private void HideDisabledCrudControls(
     ControlCollection controls,
     CrudActions allowedActions)
 {
     foreach (Control ctl in controls)
     {
         //Mkuz: fixed a bug when, for example, CreateControlID was null and the Tracker disabled master-page-control, that does not have an Id value
         if (ctl.ID != null &&
             (ctl.ID == CreateControlID && (allowedActions & CrudActions.Create) == 0) ||
             (ctl.ID == EditControlID && (allowedActions & CrudActions.Update) == 0) ||
             (ctl.ID == DeleteControlID && (allowedActions & CrudActions.Delete) == 0))
         {
             ctl.Visible = false;
         }
         else
         {
             HideDisabledCrudControls(ctl.Controls, allowedActions);
         }
     }
 }
        private bool IsActionAvailable(CrudActions action, CrudAuthorizationOptions options)
        {
            if (action == CrudActions.Create)
            {
                return(options.IsCreateAvailable);
            }
            if (action == CrudActions.Read)
            {
                return(options.IsReadAvailable);
            }
            if (action == CrudActions.Update)
            {
                return(options.IsUpdateAvailable);
            }
            if (action == CrudActions.Delete)
            {
                return(options.IsDeleteAvailable);
            }

            throw new NotSupportedException("Unsupported action.");
        }
        private string GetSubscopeFromAction(CrudActions action, CrudAuthorizationOptions options)
        {
            if (action == CrudActions.Create)
            {
                return(options.RequiredCreateSubscope);
            }
            if (action == CrudActions.Read)
            {
                return(options.RequiredReadSubscope);
            }
            if (action == CrudActions.Update)
            {
                return(options.RequiredUpdateSubscope);
            }
            if (action == CrudActions.Delete)
            {
                return(options.RequiredDeleteSubscope);
            }

            throw new NotSupportedException("Unsupported action.");
        }
示例#7
0
 public CrudOperations(ITestOutputHelper testOutputHelper)
 {
     _testOutputHelper = testOutputHelper;
     _selenium         = new SeleniumInteractions(_testOutputHelper);
     _crudActions      = new CrudActions(_selenium);
 }
示例#8
0
        /// <summary>
        /// Metodo para asignar campos de auditoria
        /// </summary>
        /// <param name="entity">entidad</param>
        /// <param name="crudAction">Accion de Crud a ejecutar</param>
        /// <returns></returns>
        public virtual TEntity SetAuditingValues(TEntity entity, CrudActions crudAction, string user = null)
        {
            Type type = null;

            if (typeof(TEntity).Name != "Object")
            {
                type = typeof(TEntity);
            }
            else
            {
                type = entity.GetType();
            }

            switch (crudAction)
            {
            case CrudActions.Insert:
                if (entity is ICamposAuditoria)
                {
                    (entity as ICamposAuditoria).FechaCreacion   = DateTime.Now;
                    (entity as ICamposAuditoria).MaquinaCreacion = Utility.GetUserMachineInfo(MachineInfo);
                    if (!string.IsNullOrEmpty(user))
                    {
                        (entity as ICamposAuditoria).UsuarioCreacion = user;
                    }
                    else
                    {
                        (entity as ICamposAuditoria).UsuarioCreacion = Utility.GetUserMachineInfo(MachineInfo, true);
                    }
                }
                //SetValue(entity, "FechaCreacion", DateTime.Now);
                //SetValue(entity, "UsuarioCreacion", currentContextInfo.IdUser + "|" + currentContextInfo.User);
                //SetValue(entity, "MaquinaCreacion", System.Web.HttpContext.Current.Request.GetUserMachineInfo());
                break;

            case CrudActions.Update:
                if (entity is ICamposAuditoria)
                {
                    (entity as ICamposAuditoria).FechaActualizacion   = DateTime.Now;
                    (entity as ICamposAuditoria).MaquinaActualizacion = Utility.GetUserMachineInfo(MachineInfo);
                    if (!string.IsNullOrEmpty(user))
                    {
                        (entity as ICamposAuditoria).UsuarioActualizacion = user;
                    }
                    else
                    {
                        (entity as ICamposAuditoria).UsuarioActualizacion = Utility.GetUserMachineInfo(MachineInfo, true);
                    }
                }
                //SetValue(entity, "FechaActualizacion", DateTime.Now);
                ////SetValue(entity, "UsuarioActualizacion", currentContextInfo.IdUser + "|" + currentContextInfo.User);
                //SetValue(entity, "MaquinaActualizacion", System.Web.HttpContext.Current.Request.GetUserMachineInfo());
                break;
            }
            //switch (crudAction)
            //{
            //    case CrudActions.Insert:
            //        SetValue(entity, "FechaCreacion", DateTime.Now);
            //        SetValue(entity, "UsuarioCreacion", currentContextInfo.IdUser + "|" + currentContextInfo.User);
            //        SetValue(entity, "MaquinaCreacion", currentContextInfo.UserMachine);
            //        break;
            //    case CrudActions.Update:
            //        SetValue(entity, "FechaActualizacion", DateTime.Now);
            //        SetValue(entity, "UsuarioActualizacion", currentContextInfo.IdUser + "|" + currentContextInfo.User);
            //        SetValue(entity, "MaquinaActualizacion", currentContextInfo.UserMachine);
            //        break;
            //}
            return(entity);
        }
示例#9
0
 public CopyValueAttribute(CrudActions @event, string sourceFieldName)
     : base(@event)
 {
     TriggerName     = $"CopyValueOn{@event}{TableNamePlaceHolder}From{SourceFieldNamePlaceHolder}To{DestinationFieldNamePlaceHolder}";
     SourceFieldName = sourceFieldName;
 }
示例#10
0
 public CrudAttribute(CrudActions allowedActions)
 {
     _allowedActions = allowedActions;
 }
示例#11
0
 private void UpdateModifications(int modelID, CrudActions action)
 {
     var modifications = Facade.ListModifications(modelID);
     foreach (var modification in modifications)
     {
         UpdateModification(modification.ID, action);
     }
 }
示例#12
0
 private void UpdateModification(int modificationID, CrudActions action)
 {
     switch (action)
     {
         case CrudActions.Create:
             if (_context.InvisibleModifications.SingleOrDefault(
              m => m.ModificationID == modificationID) == null)
                 _context.InvisibleModifications.InsertOnSubmit(new InvisibleModification(modificationID));
             break;
         case CrudActions.Delete:
             var mv = _context.InvisibleModifications.SingleOrDefault(m => m.ModificationID == modificationID);
             if (mv != null)
                 _context.InvisibleModifications.DeleteOnSubmit(mv);
             break;
     }
 }
示例#13
0
 private void UpdateModels(int manufacturerID, CrudActions action)
 {
     var models = Facade.ListModels(manufacturerID);
     foreach (var model in models)
     {
         UpdateModel(model.ID, action, true);
     }
 }
示例#14
0
 private void UpdateManufacturer(int manufacturerID, CrudActions action, bool deleteChilds)
 {
     switch (action)
     {
         case CrudActions.Create:
             if (_context.InvisibleManufacturers.SingleOrDefault(
                                      m => m.ManufacturerID == manufacturerID) == null)
                 _context.InvisibleManufacturers.InsertOnSubmit(new InvisibleManufacturer(manufacturerID));
             break;
         case CrudActions.Delete:
             var mv = _context.InvisibleManufacturers.SingleOrDefault(m => m.ManufacturerID == manufacturerID);
             if (mv != null)
                 _context.InvisibleManufacturers.DeleteOnSubmit(mv);
             break;
     }
     if (deleteChilds)
         UpdateModels(manufacturerID, action);
 }
 /// <summary>
 /// Create a RepositoryUpdateArgs
 /// </summary>
 /// <param name="entity">Entity which was passed to the Repository</param>
 /// <param name="crudAction"></param>
 public RepositoryUpdateArgs(TEntity entity, CrudActions crudAction)
 {
     CrudAction = crudAction;
     Entity     = entity;
 }
示例#16
0
 public TriggerAttribute(CrudActions @event)
 {
     Event = @event;
 }