Example #1
0
        private bool CheckPermissions2(DataRow row, FormActions actionType)
        {
            if (row.GetSourceMethodNew() == SourceMethods.None) return true;

            var permission = row.GetLocType() == LocTypes.S
                                 ? UserStoreList[row.GetLoc()]
                                 : UserWhList[row.GetLoc()];
            switch (permission)
            {
                case LocPermissionTypes.Full:
                    {
                        return true;
                    }
                case LocPermissionTypes.Supplier:
                    {
                        switch (actionType)
                        {
                            case FormActions.Add:
                                {
                                    return true;
                                }
                            case FormActions.Modify:
                                {
                                    if (row.GetSourceMethodNew() == SourceMethods.S)
                                        return true;
                                    break;
                                }
                            case FormActions.Delete:
                                {
                                    if (row.GetSourceMethodNew() == SourceMethods.S)
                                        return true;
                                    break;
                                }
                            case FormActions.ModifyCancel:
                                {
                                    return true;
                                }
                            case FormActions.Restore:
                                {
                                    return true;
                                }
                        }
                        break;
                    }
                case LocPermissionTypes.WarehouseTransit:
                    {
                        switch (actionType)
                        {
                            case FormActions.Add:
                                {
                                    return true;
                                }
                            case FormActions.Modify:
                                {
                                    return true;
                                }
                            case FormActions.Delete:
                                {
                                    if (row.GetSourceMethodNew() == SourceMethods.W ||
                                        row.GetSourceMethodNew() == SourceMethods.T)
                                        return true;
                                    break;
                                }
                            case FormActions.ModifyCancel:
                                {
                                    return true;
                                }
                            case FormActions.Restore:
                                {
                                    return true;
                                }
                        }
                        break;
                    }
            }
            return false;
        }
Example #2
0
 private bool CheckPermissions3(DataRow row, IEnumerable<FieldValue> setValues)
 {
     var action = row.GetAction();
     var permission = row.GetLocType() == LocTypes.S
                          ? UserStoreList[row.GetLoc()]
                          : UserWhList[row.GetLoc()];
     switch (permission)
     {
         case LocPermissionTypes.Full:
             {
                 return true;
             }
         case LocPermissionTypes.Supplier:
             {
                 foreach (var fieldValue in setValues)
                 {
                     if (fieldValue.Field == "DIM_ITEMLOC_SOURCEMETHOD_NEW" &&
                         (Convert.ToChar(fieldValue.Value) == (char)SourceMethods.W ||
                          Convert.ToChar(fieldValue.Value) == (char)SourceMethods.T)) return false;
                 }
                 break;
             }
         case LocPermissionTypes.WarehouseTransit:
             {
                 foreach (var fieldValue in setValues)
                 {
                     if (action == Actions.Leave)
                     {
                         if (fieldValue.Field == "DIM_ITEMLOC_SOURCEMETHOD_NEW" &&
                             Convert.ToChar(fieldValue.Value) == (char)SourceMethods.S) return false;
                     }
                     else if (action == Actions.Modify)
                     {
                         if (row.GetSourceMethod() == SourceMethods.S)
                         {
                             if (fieldValue.Field == "DIM_ITEMLOC_SOURCEMETHOD_NEW" &&
                                 Convert.ToChar(fieldValue.Value) == (char)SourceMethods.S) return false;
                         }
                     }
                 }
                 break;
             }
     }
     return true;
 }