public async Task <IActionResult> EditType(ViolationTypeViewModel model) { if (ModelState.IsValid) { var violation = new CommonViolationType() { Name = model.Name.Trim(), Id = model.Id, Description = model.Description?.Trim(), Disabled = model.Disabled }; var NameAlreadyExists = await CommonContext.CommonViolationTypes.AnyAsync(q => q.Name.ToLower() == model.Name.Trim().ToLower() && q.Id != model.Id); if (NameAlreadyExists) { // This isn't a security risk because we've verified the Name already exists ModelState.AddModelError(string.Empty, "Name already exists."); } else { var result = await _violationSvc.UpdateType(violation, User.GetLoggedInUserId().Value); //Purge common accounts cache await _cache.RemoveAsync(WebCacheKey.CommonViolationTypes); return(RedirectToAction("Types")); } } return(View(model)); }
public async Task <IActionResult> CreateCategory() { var model = new ViolationTypeViewModel(); await PopulateDropDownType(model); return(View(model)); }
public ActionResult Violations() { ViolationTypeViewModel viewModel = SystemViewModelData.BuildUpViolationTypeViewModel(null, true); // Perform default search for all Violation Library Entries: viewModel.ViolationTypeGridView = Repository.ViolationTypes.GridSearch(); return(View(viewModel)); }
private async Task PopulateDropDownType(ViolationTypeViewModel model) { //TODO: this should be cached and retrieved from a service var Types = await CommonContext.CommonViolationTypes.Select(m => new SelectListItem { Text = m.Name, Value = m.Id.ToString(), Selected = (m.Id == model.TypeId ? true : false) }).ToListAsync(); model.Types.AddRange(Types); }
public async Task <IActionResult> EditType(Guid Id) { var model = new ViolationTypeViewModel(); //get data from database by id var violationTypeDetails = await CommonContext.CommonViolationTypes.SingleOrDefaultAsync(violation => violation.Id == Id); model.Name = violationTypeDetails.Name; model.Description = violationTypeDetails.Description; model.Disabled = violationTypeDetails.Disabled; model.Id = violationTypeDetails.Id; return(View(model)); }
public ActionResult SearchViolations([DataSourceRequest] DataSourceRequest request, int?violationProgramElementID = null, int?violationCategoryID = null, int?violationSourceID = null, string violationTypeNumber = "", string name = "", string description = "", string violationCitation = "", DateTime?beginDate = null, DateTime?endDate = null) { ViolationTypeViewModel viewModel = SystemViewModelData.BuildUpViolationTypeViewModel(null, true); // Perform search using user-entered criteria: var ViolationTypes = Repository.ViolationTypes.GridSearch(violationProgramElementID: violationProgramElementID, violationCategoryID: violationCategoryID, violationSourceID: violationSourceID, typeNumber: violationTypeNumber, name: name, description: description, citation: violationCitation, beginDate: beginDate, endDate: endDate); DataSourceResult result = ViolationTypes.ToList().ToDataSourceResult(request); return(Json(result, JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> CreateCategory(ViolationTypeViewModel model) { if (ModelState.IsValid) { var Category = new CommonViolationCategory() { Name = model.Name.Trim(), Description = model.Description?.Trim(), Disabled = model.Disabled, TypeId = model.TypeId, Type = await CommonContext.CommonViolationTypes.SingleAsync(m => m.Id == model.TypeId) }; var NameAlreadyExists = await CommonContext.CommonViolationCategories.AnyAsync( q => q.Name.ToLower() == model.Name.Trim().ToLower() && q.TypeId == model.TypeId); if (NameAlreadyExists) { // This isn't a security risk because we've verified the Name already exists ModelState.AddModelError(string.Empty, "Violation Category Name with this Violation Type already exists."); } else { var result = await _violationSvc.CreateViolationCategory(Category, User.GetLoggedInUserId().Value); //Purge common Violation Categories cache await _cache.RemoveAsync(WebCacheKey.CommonViolationCategories); return(RedirectToAction("Categories")); } } await PopulateDropDownType(model); return(View(model)); }
public ActionResult Violations(ViolationTypeViewModel violationTypeViewModel, FormCollection formCollection) { ViolationTypeViewModel viewModel = SystemViewModelData.BuildUpViolationTypeViewModel(null, true); // Set Populated viewModel search parameters to user-supplied values viewModel.ViolationProgramElementID = violationTypeViewModel.ViolationProgramElementID; viewModel.ViolationCategoryID = violationTypeViewModel.ViolationCategoryID; viewModel.ViolationSourceID = violationTypeViewModel.ViolationSourceID; viewModel.ViolationTypeNumber = violationTypeViewModel.ViolationTypeNumber; viewModel.Name = violationTypeViewModel.Name; viewModel.Description = violationTypeViewModel.Description; viewModel.ViolationCitation = violationTypeViewModel.ViolationCitation; viewModel.BeginDate = violationTypeViewModel.BeginDate; viewModel.EndDate = violationTypeViewModel.EndDate; // Perform search using user-entered criteria, return Grid View: viewModel.ViolationTypeGridView = Repository.ViolationTypes.GridSearch(violationProgramElementID: violationTypeViewModel.ViolationProgramElementID, violationCategoryID: violationTypeViewModel.ViolationCategoryID, violationSourceID: violationTypeViewModel.ViolationSourceID, typeNumber: violationTypeViewModel.ViolationTypeNumber, name: violationTypeViewModel.Name, description: violationTypeViewModel.Description, citation: violationTypeViewModel.ViolationCitation, beginDate: violationTypeViewModel.BeginDate, endDate: violationTypeViewModel.EndDate ); //Check for Export if (!string.IsNullOrWhiteSpace(formCollection["export"])) { string excelTemplateFilePath = System.IO.Path.Combine(Server.MapPath("~"), ConfigurationManager.AppSettings["ViolationLibraryExcelTemplate"]); FileStream sourceXlsDataStream = new System.IO.FileStream(excelTemplateFilePath, FileMode.Open, FileAccess.Read); ExcelWorkbook workbook = new ExcelWorkbook(sourceXlsDataStream); workbook.LicenseKey = Excel.GetWinnovativeExcelLicenseKey(); // Obtain First Worksheet (this is where our Inventory will be inserted) ExcelWorksheet excelWorksheet = workbook.Worksheets[0]; if (formCollection["export"] == "Export to Excel") { if (excelWorksheet != null) { // Retrieve the real entities for export (not only the Grid View from above) // based on the provided search criteria: viewModel.Entities = Repository.ViolationTypes.Search(violationProgramElementID: violationTypeViewModel.ViolationProgramElementID, violationCategoryID: violationTypeViewModel.ViolationCategoryID, violationSourceID: violationTypeViewModel.ViolationSourceID, typeNumber: violationTypeViewModel.ViolationTypeNumber, name: violationTypeViewModel.Name, description: violationTypeViewModel.Description, citation: violationTypeViewModel.ViolationCitation); DataTable table = ViolationLibraryDataTable(viewModel.Entities); excelWorksheet.LoadDataTable(table, 4, 1, false); } SetDownloadFileHeader("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "CERSViolationLibrary_SearchResults.xlsx"); } else if (formCollection["export"] == "Export Entire Violation Library") { if (excelWorksheet != null) { // Retrieve the entire set of Violation Types (the real entities, not Grid View) viewModel.Entities = Repository.ViolationTypes.Search(); DataTable table = ViolationLibraryDataTable(viewModel.Entities); excelWorksheet.LoadDataTable(table, 4, 1, false); } SetDownloadFileHeader("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "CERSViolationLibrary_EntireExport.xlsx"); } workbook.Save(Response.OutputStream); Response.End(); return(new EmptyResult()); } return(View(viewModel)); }
public ActionResult ViolationDetail(int violationTypeID) { ViolationTypeViewModel viewModel = SystemViewModelData.BuildUpViolationTypeViewModel(violationTypeID); return(View(viewModel)); }
public IActionResult CreateType() { var model = new ViolationTypeViewModel(); return(View(model)); }