public DtoActionResult AddModule(EntityPrinterModule module) { var validationResult = ValidateModule(module, true); var actionResult = new DtoActionResult(); if (validationResult.Success) { _uow.PrinterModuleRepository.Insert(module); var moduleType = new EntityModule(); moduleType.ModuleType = EnumModule.ModuleType.Printer; moduleType.Guid = module.Guid; _uow.ModuleRepository.Insert(moduleType); _uow.Save(); actionResult.Success = true; actionResult.Id = module.Id; } else { actionResult.ErrorMessage = validationResult.ErrorMessage; } return(actionResult); }
protected void btnAdd_OnClick(object sender, EventArgs e) { var module = new EntityPrinterModule() { Name = txtDisplayName.Text, Description = txtDescription.Text, Action = (EnumPrinterModule.ActionType)Enum.Parse(typeof(EnumPrinterModule.ActionType), ddlType.SelectedValue), NetworkPath = txtPath.Text, IsDefault = chkDefault.Checked, RestartSpooler = chkRestartSpooler.Checked, WaitForEnumeration = chkEnumeration.Checked }; var result = Call.PrinterModuleApi.Post(module); if (!result.Success) { EndUserMessage = result.ErrorMessage; } else { EndUserMessage = "Successfully Created Printer Module"; Response.Redirect("~/views/modules/printermodules/general.aspx?printerModuleId=" + result.Id); } }
public DtoActionResult Post(EntityPrinterModule module) { var result = _printerModuleServices.AddModule(module); if (result.Success) { var auditLog = new EntityAuditLog(); auditLog.ObjectType = "PrinterModule"; auditLog.ObjectId = result.Id; auditLog.ObjectName = module.Name; auditLog.ObjectJson = JsonConvert.SerializeObject(module); auditLog.UserId = _userId; auditLog.AuditType = EnumAuditEntry.AuditType.Update; _auditLogService.AddAuditLog(auditLog); } return(result); }
public DtoActionResult UpdateModule(EntityPrinterModule module) { var u = GetModule(module.Id); if (u == null) { return new DtoActionResult { ErrorMessage = "Module Not Found", Id = 0 } } ; var isActiveModule = new ServiceModule().IsModuleActive(module.Id, EnumModule.ModuleType.Printer); if (!string.IsNullOrEmpty(isActiveModule)) { return new DtoActionResult() { ErrorMessage = isActiveModule, Id = 0 } } ; var validationResult = ValidateModule(module, false); var actionResult = new DtoActionResult(); if (validationResult.Success) { _uow.PrinterModuleRepository.Update(module, module.Id); _uow.Save(); actionResult.Success = true; actionResult.Id = module.Id; } else { actionResult.ErrorMessage = validationResult.ErrorMessage; } return(actionResult); }
public DtoActionResult Put(int id, EntityPrinterModule module) { module.Id = id; var result = _printerModuleServices.UpdateModule(module); if (result == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } if (result.Success) { var auditLog = new EntityAuditLog(); auditLog.ObjectType = "PrinterModule"; auditLog.ObjectId = result.Id; auditLog.ObjectName = module.Name; auditLog.ObjectJson = JsonConvert.SerializeObject(module); auditLog.UserId = _userId; auditLog.AuditType = EnumAuditEntry.AuditType.Create; _auditLogService.AddAuditLog(auditLog); } return(result); }
private DtoValidationResult ValidateModule(EntityPrinterModule module, bool isNew) { var validationResult = new DtoValidationResult { Success = true }; if (string.IsNullOrEmpty(module.Name) || !module.Name.All(c => char.IsLetterOrDigit(c) || c == '_' || c == '-' || c == ' ' || c == '.')) { validationResult.Success = false; validationResult.ErrorMessage = "Module Name Is Not Valid"; return(validationResult); } if (isNew) { if (_uow.PrinterModuleRepository.Exists(h => h.Name == module.Name)) { validationResult.Success = false; validationResult.ErrorMessage = "A Module With This Name Already Exists"; return(validationResult); } } else { var originalModule = _uow.PrinterModuleRepository.GetById(module.Id); if (originalModule.Name != module.Name) { if (_uow.PrinterModuleRepository.Exists(h => h.Name == module.Name)) { validationResult.Success = false; validationResult.ErrorMessage = "A Module With This Name Already Exists"; return(validationResult); } } } return(validationResult); }
private DtoActionResult CreatePrinters() { foreach (var printerModule in _export.PrinterModules) { if (_export.Instructions.Contains("[generate-module-guid]")) { printerModule.Guid = Guid.NewGuid().ToString(); } if (_uow.PrinterModuleRepository.Exists(h => h.Guid.Equals(printerModule.Guid))) { return(new DtoActionResult() { ErrorMessage = "A Printer Module With This Guid Already Exists. " + printerModule.Guid }); } var printer = new EntityPrinterModule(); printer.Name = printerModule.DisplayName; printer.Description = "Added Via Policy Template " + _export.Name + " On " + DateTime.Now + "\r\n" + printerModule.Description; printer.Guid = printerModule.Guid; printer.Action = printerModule.PrinterAction; printer.IsDefault = printerModule.IsDefault; printer.NetworkPath = printerModule.PrinterPath; printer.RestartSpooler = printerModule.RestartSpooler; printer.WaitForEnumeration = printerModule.WaitForEnumeration; if (_uow.PrinterModuleRepository.Exists(h => h.Name.Equals(printer.Name))) { for (var c = 1; c <= 100; c++) { if (c == 100) { return new DtoActionResult() { ErrorMessage = "Could Not Determine A Printer Name" } } ; var newName = printer.Name + "_" + c; if (!_uow.PrinterModuleRepository.Exists(h => h.Name == newName)) { printer.Name = newName; break; } } } var addResult = new ServicePrinterModule().AddModule(printer); if (!addResult.Success) { return(addResult); } var policyModule = new EntityPolicyModules(); policyModule.Guid = printer.Guid; policyModule.ModuleId = addResult.Id; policyModule.ModuleType = EnumModule.ModuleType.Printer; policyModule.Name = printer.Name; policyModule.Order = printerModule.Order; policyModule.PolicyId = _policy.Id; policyModule.ConditionFailedAction = printerModule.ConditionFailedAction; policyModule.ConditionNextModule = printerModule.ConditionNextOrder; var conditionId = CreateCondition(printerModule.Condition); if (conditionId != 0) { policyModule.ConditionId = conditionId; } else { policyModule.ConditionId = -1; } _uow.PolicyModulesRepository.Insert(policyModule); } return(new DtoActionResult() { Success = true }); }