public static int GetPermissionToUpdateShipmentDocumentation(ModelUpdate model, PermissionRange permissionRange, ICurrentUser currentUser, List <string> authorizeUserIds) { int code = 403; switch (permissionRange) { case PermissionRange.All: code = 200; break; case PermissionRange.Owner: if (model.PersonInCharge == currentUser.UserID || model.UserCreated == currentUser.UserID || authorizeUserIds.Contains(model.PersonInCharge)) { code = 200; } break; case PermissionRange.Group: if ((model.GroupId == currentUser.GroupId && model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) || authorizeUserIds.Contains(model.PersonInCharge)) { code = 200; } break; case PermissionRange.Department: if ((model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) || authorizeUserIds.Contains(model.PersonInCharge)) { code = 200; } break; case PermissionRange.Office: if ((model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) || authorizeUserIds.Contains(model.PersonInCharge)) { code = 200; } break; case PermissionRange.Company: if (model.CompanyId == currentUser.CompanyID || authorizeUserIds.Contains(model.PersonInCharge)) { code = 200; } break; } return(code); }
public ActionResult ActionUpdate(ModelUpdate inputData, int position) { CurrentCube.ListCube[position].UpdateCube(inputData); return(Json(new { esUpdate = true })); }
public static int GetPermissionToDelete(ModelUpdate model, PermissionRange permissionRange, ICurrentUser currentUser) { int code = 0; switch (permissionRange) { case PermissionRange.None: code = 403; break; case PermissionRange.Owner: if (model.PartnerGroup.Contains("CUSTOMER")) { if (model.Salemans.FindAll(x => x.SaleManId == currentUser.UserID).Count == 0 && model.UserCreator != currentUser.UserID) { code = 403; } } else { if (model.UserCreator != currentUser.UserID) { code = 403; } } break; case PermissionRange.Group: if (model.GroupId != currentUser.GroupId && model.DepartmentId == currentUser.DepartmentId) { code = 403; } break; case PermissionRange.Department: if (model.DepartmentId != currentUser.DepartmentId) { code = 403; } break; case PermissionRange.Office: if (model.OfficeId != currentUser.OfficeID) { code = 403; } break; case PermissionRange.Company: if (model.CompanyId != currentUser.CompanyID) { code = 403; } break; } return(code); }
public static int GetPermissionToDelete(ModelUpdate model, PermissionRange permissionRange, ICurrentUser currentUser) { int code = 403; switch (permissionRange) { case PermissionRange.All: code = 200; break; case PermissionRange.Owner: if (model.BillingOpsId == currentUser.UserID) { code = 200; } break; case PermissionRange.Group: if (model.GroupId == currentUser.GroupId && model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { code = 200; } break; case PermissionRange.Department: if (model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { code = 200; } break; case PermissionRange.Office: if (model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { code = 200; } break; case PermissionRange.Company: if (model.CompanyId == currentUser.CompanyID) { code = 200; } break; } return(code); }
public void ActionUpdateNotNull() { // Arrange HomeController controller = new HomeController(); ModelUpdate update = new ModelUpdate(); // Act ActionResult result = controller.ActionUpdate(update, 0) as ActionResult; // Assert Assert.IsNotNull(result); }
/// <summary> /// This method is started by the first message of a batch and waits for a specified amount of time before forwarding the entire batch. /// </summary> /// <param name="message">The first message</param> /// <returns></returns> private async Task StartCollect(ModelUpdate message) { lock (_batchLock) { _batch.AddOrUpdate(message.Property, message, (key, old) => (old.TimestampUtc > message.TimestampUtc) ? (old) : (message)); } await Task.Delay(_delayMilliseconds); lock (_onMessageModeLock) { lock (_batchLock) { SendAndClearBag(); } _isCollectionMode = false; } }
/// <summary> /// Receives a ModelUpdate for delivery after the current waiting delay has completed. /// ModelUpdates will NOT be sent out if they are superseded by new updates for the same property with greater TimestampUtc /// </summary> /// <param name="mu"></param> public void OnMessage(ModelUpdate message) { lock (_onMessageModeLock) { if (_isCollectionMode) { lock (_batchLock) { _batch.AddOrUpdate(message.Property, message, (key, old) => (old.TimestampUtc > message.TimestampUtc)?(old):(message)); } } else { _isCollectionMode = true; _collectionWaitTask = StartCollect(message); } } }
//-------------------Tool Methods------------------------------------- public DataItemUpdate makeDataItemUpdate(ModelUpdate modelUpdate) { EModelType modelType = (EModelType)modelUpdate.modelType; switch (modelType) { case EModelType.modelAssignemt: ModelAssignment assignment = JsonConvert.DeserializeObject <ModelAssignment>(modelUpdate.modelItemAsJson); return(new DataItemUpdate(modelUpdate.dataKey, assignment)); case EModelType.modelClassRoom: ModelClassRoom classRoom = JsonConvert.DeserializeObject <ModelClassRoom>(modelUpdate.modelItemAsJson); return(new DataItemUpdate(modelUpdate.dataKey, classRoom)); case EModelType.modelUser: ModelUser user = JsonConvert.DeserializeObject <ModelUser>(modelUpdate.modelItemAsJson); return(new DataItemUpdate(modelUpdate.dataKey, user)); } return(null); }
private int GetPermissionToDelete(ModelUpdate model, PermissionRange permissionRange) { int code = PermissionEx.GetPermissionToDelete(model, permissionRange, currentUser); return(code); }
private int GetPermissionToUpdate(ModelUpdate model, PermissionRange permissionRange, int?flagDetail) { int code = PermissionEx.GetPermissionToUpdate(model, permissionRange, currentUser, flagDetail); return(code); }