public ActionResult Verification(object[] data) { TaskManager = (EasyUploadTaskManager)Session["TaskManager"]; SelectVerificationModel model = new SelectVerificationModel(); model.StepInfo = TaskManager.Current(); //convert all rowmodels to tuples for the next steps if (TaskManager != null) { TaskManager.Current().SetValid(false); if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.ROWS)) { List <RowModel> rows = (List <RowModel>)TaskManager.Bus[EasyUploadTaskManager.ROWS]; model.Rows = rows; bool allSelectionMade = true; foreach (var r in rows) { if (r.SelectedDataAttribute == null || r.SelectedDataType == null || r.SelectedUnit == null) { allSelectionMade = false; model.ErrorList.Add(new Error(ErrorType.Other, "Some Areas are not selected.")); break; } } TaskManager.Current().SetValid(allSelectionMade); } else { model.ErrorList.Add(new Error(ErrorType.Other, "Some Areas are not selected.")); } if (TaskManager.Current().valid == true) { TaskManager.AddExecutedStep(TaskManager.Current()); TaskManager.GoToNext(); Session["TaskManager"] = TaskManager; ActionInfo actionInfo = TaskManager.Current().GetActionInfo; return(RedirectToAction(actionInfo.ActionName, actionInfo.ControllerName, new RouteValueDictionary { { "area", actionInfo.AreaName }, { "index", TaskManager.GetCurrentStepInfoIndex() } })); } else { TaskManager.Current().SetStatus(StepStatus.error); //reload model model.StepInfo = TaskManager.Current(); } } return(PartialView(model)); }
public ActionResult SheetDataStructure(int index) { /* SKIP BECAUSE ONLY ONE SELECTION IS POSSIBLE * * TaskManager = (EasyUploadTaskManager)Session["TaskManager"]; * * //set current stepinfo based on index * if (TaskManager != null) * { * TaskManager.SetCurrent(index); * * // remove if existing * TaskManager.RemoveExecutedStep(TaskManager.Current()); * } * * SelectSheetFormatModel model = new SelectSheetFormatModel(); * * // when jumping back to this step * // check if sheet format is selected * if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.SHEET_FORMAT)) * { * if (!String.IsNullOrEmpty(Convert.ToString(TaskManager.Bus[EasyUploadTaskManager.SHEET_FORMAT]))) * { * model.SelectedSheetFormat = TaskManager.Bus[EasyUploadTaskManager.SHEET_FORMAT].ToString(); * } * } * * model.StepInfo = TaskManager.Current(); */ TaskManager = (EasyUploadTaskManager)Session["TaskManager"]; if (TaskManager != null) { // set SHEET_FORMAT TaskManager.AddToBus(EasyUploadTaskManager.SHEET_FORMAT, "TopDown"); TaskManager.Current().SetValid(true); if (TaskManager.Current().IsValid()) { TaskManager.GoToNext(); Session["TaskManager"] = TaskManager; ActionInfo actionInfo = TaskManager.Current().GetActionInfo; return(RedirectToAction(actionInfo.ActionName, actionInfo.ControllerName, new RouteValueDictionary { { "area", actionInfo.AreaName }, { "index", TaskManager.GetCurrentStepInfoIndex() } })); } } return(PartialView(new SelectSheetFormatModel())); }
public ActionResult SheetDataStructure(object[] data) { TaskManager = (EasyUploadTaskManager)Session["TaskManager"]; SelectSheetFormatModel model = new SelectSheetFormatModel(); model.StepInfo = TaskManager.Current(); if (TaskManager != null) { TaskManager.Current().SetValid(false); if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.SHEET_FORMAT)) //Check if there is a Sheet Format on the bus //it's only added to the bus if it's valid so there's no need to double check that { TaskManager.Current().SetValid(true); } else { model.ErrorList.Add(new Error(ErrorType.Other, "Please select a sheet format.")); //No Format selected yet } if (TaskManager.Current().valid == true) //Jump to the next step { TaskManager.AddExecutedStep(TaskManager.Current()); TaskManager.GoToNext(); Session["TaskManager"] = TaskManager; ActionInfo actionInfo = TaskManager.Current().GetActionInfo; return(RedirectToAction(actionInfo.ActionName, actionInfo.ControllerName, new RouteValueDictionary { { "area", actionInfo.AreaName }, { "index", TaskManager.GetCurrentStepInfoIndex() } })); } else //Stay on the same page { TaskManager.Current().SetStatus(StepStatus.error); //reload model model.StepInfo = TaskManager.Current(); } } return(PartialView(model)); }
public ActionResult SelectAreas(object[] data) { TaskManager = (EasyUploadTaskManager)Session["TaskManager"]; SelectAreasModel model = new SelectAreasModel(); model.StepInfo = TaskManager.Current(); if (TaskManager != null) { TaskManager.Current().SetValid(false); //If Header and data areas have been selected, you can proceed with the next step if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.SHEET_JSON_DATA) && TaskManager.Bus.ContainsKey(EasyUploadTaskManager.SHEET_DATA_AREA) && TaskManager.Bus.ContainsKey(EasyUploadTaskManager.SHEET_HEADER_AREA)) { bool isJsonDataEmpty = String.IsNullOrEmpty(Convert.ToString(TaskManager.Bus[EasyUploadTaskManager.SHEET_JSON_DATA])); bool isDataAreaEmpty = ((List <string>)TaskManager.Bus[EasyUploadTaskManager.SHEET_DATA_AREA]).Count == 0; bool isHeadAreaEmpty = String.IsNullOrEmpty(Convert.ToString(TaskManager.Bus[EasyUploadTaskManager.SHEET_HEADER_AREA])); if (!isJsonDataEmpty && !isDataAreaEmpty && !isHeadAreaEmpty) { TaskManager.Current().SetValid(true); } else { model.ErrorList.Add(new Error(ErrorType.Other, "Some Areas are not selected.")); } } else //Else stay on the same page, display an error { model.ErrorList.Add(new Error(ErrorType.Other, "Some Areas are not selected.")); } if (TaskManager.Current().valid == true) //Redirect if the state is valid { TaskManager.AddExecutedStep(TaskManager.Current()); TaskManager.GoToNext(); Session["TaskManager"] = TaskManager; ActionInfo actionInfo = TaskManager.Current().GetActionInfo; return(RedirectToAction(actionInfo.ActionName, actionInfo.ControllerName, new RouteValueDictionary { { "area", actionInfo.AreaName }, { "index", TaskManager.GetCurrentStepInfoIndex() } })); } else { TaskManager.Current().SetStatus(StepStatus.error); //reload model if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.SHEET_DATA_AREA)) { model.DataArea = (List <string>)TaskManager.Bus[EasyUploadTaskManager.SHEET_DATA_AREA]; } if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.SHEET_HEADER_AREA)) { model.HeaderArea = TaskManager.Bus[EasyUploadTaskManager.SHEET_HEADER_AREA].ToString(); } #region Generate sheet-list and table for active sheet //Grab the sheet format from the bus string sheetFormatString = Convert.ToString(TaskManager.Bus[EasyUploadTaskManager.SHEET_FORMAT]); SheetFormat CurrentSheetFormat = 0; Enum.TryParse <SheetFormat>(sheetFormatString, true, out CurrentSheetFormat); //Open the users file string filePath = TaskManager.Bus[EasyUploadTaskManager.FILEPATH].ToString(); FileStream fis = null; string jsonTable = "{}"; fis = new FileStream(filePath, FileMode.Open, FileAccess.Read); //Generate the Sheet-List and grab the active worksheet JsonTableGenerator EUEReader = new JsonTableGenerator(fis); //If the active worksheet was never changed, we default to the first one string activeWorksheet; if (!TaskManager.Bus.ContainsKey(EasyUploadTaskManager.ACTIVE_WOKSHEET_URI)) { activeWorksheet = EUEReader.GetFirstWorksheetUri().ToString(); TaskManager.AddToBus(EasyUploadTaskManager.ACTIVE_WOKSHEET_URI, activeWorksheet); } else { activeWorksheet = TaskManager.Bus[EasyUploadTaskManager.ACTIVE_WOKSHEET_URI].ToString(); } //Generate the table for the active worksheet jsonTable = EUEReader.GenerateJsonTable(CurrentSheetFormat, activeWorksheet); //Save the worksheet uris to the model model.SheetUriDictionary = EUEReader.GetWorksheetUris(); if (!String.IsNullOrEmpty(jsonTable)) { TaskManager.AddToBus(EasyUploadTaskManager.SHEET_JSON_DATA, jsonTable); } //Add uri of the active sheet to the model to be able to preselect the correct option in the dropdown model.activeSheetUri = activeWorksheet; #endregion model.StepInfo = TaskManager.Current(); } } return(PartialView(model)); }
public ActionResult SelectAFile(object[] data) { SelectFileViewModel model = new SelectFileViewModel(); TaskManager = (EasyUploadTaskManager)Session["TaskManager"]; if (data != null) { TaskManager.AddToBus(data); } model.StepInfo = TaskManager.Current(); TaskManager.Current().SetValid(false); if (TaskManager != null) { // is path of FileStream exist if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.FILEPATH)) { if (IsSupportedExtention(TaskManager)) { try { string filePath = TaskManager.Bus[EasyUploadTaskManager.FILEPATH].ToString(); //TaskManager.AddToBus(EasyUploadTaskManager.IS_TEMPLATE, "false"); TaskManager.Current().SetValid(true); } catch { model.ErrorList.Add(new Error(ErrorType.Other, "Cannot access FileStream on server.")); } } else { model.ErrorList.Add(new Error(ErrorType.Other, "File is not supported.")); } } else { model.ErrorList.Add(new Error(ErrorType.Other, "No FileStream selected or submitted.")); } if (TaskManager.Current().IsValid()) { TaskManager.AddExecutedStep(TaskManager.Current()); TaskManager.GoToNext(); Session["TaskManager"] = TaskManager; ActionInfo actionInfo = TaskManager.Current().GetActionInfo; return(RedirectToAction(actionInfo.ActionName, actionInfo.ControllerName, new RouteValueDictionary { { "area", actionInfo.AreaName }, { "index", TaskManager.GetCurrentStepInfoIndex() } })); } } model.serverFileList = GetServerFileList(); model.SupportedFileExtentions = supportedExtensions; return(PartialView(model)); }
public ActionResult Verification(object[] data) { TaskManager = (EasyUploadTaskManager)Session["TaskManager"]; SelectVerificationModel model = new SelectVerificationModel(); model.StepInfo = TaskManager.Current(); if (TaskManager != null) { TaskManager.Current().SetValid(false); if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.VERIFICATION_MAPPEDHEADERUNITS)) { List <Tuple <int, String, UnitInfo> > mappedHeaderUnits = (List <Tuple <int, String, UnitInfo> >)TaskManager.Bus[EasyUploadTaskManager.VERIFICATION_MAPPEDHEADERUNITS]; //Moved handling of this case to SaveUnitSelection, just leaving it here in case of problems: /*foreach (Tuple<int, String, UnitInfo> tuple in mappedHeaderUnits) * { * * if (tuple.Item3.SelectedDataTypeId < 0) * { * tuple.Item3.SelectedDataTypeId = tuple.Item3.DataTypeInfos.FirstOrDefault().DataTypeId; * } * }*/ model.AssignedHeaderUnits = mappedHeaderUnits; TaskManager.Current().SetValid(true); } else { model.ErrorList.Add(new Error(ErrorType.Other, "Some Areas are not selected.")); } if (TaskManager.Current().valid == true) { TaskManager.AddExecutedStep(TaskManager.Current()); TaskManager.GoToNext(); Session["TaskManager"] = TaskManager; ActionInfo actionInfo = TaskManager.Current().GetActionInfo; return(RedirectToAction(actionInfo.ActionName, actionInfo.ControllerName, new RouteValueDictionary { { "area", actionInfo.AreaName }, { "index", TaskManager.GetCurrentStepInfoIndex() } })); } else { TaskManager.Current().SetStatus(StepStatus.error); //reload model model.StepInfo = TaskManager.Current(); } } //Default unit should be "none" if it exists, otherwise just take the first unit UnitInfo currentUnitInfo = model.AvailableUnits.FirstOrDefault(u => u.Name.ToLower() == "none"); if (currentUnitInfo != null) { currentUnitInfo = (UnitInfo)currentUnitInfo.Clone(); } else { currentUnitInfo = (UnitInfo)model.AvailableUnits.FirstOrDefault().Clone(); } DataTypeInfo dtinfo = currentUnitInfo.DataTypeInfos.FirstOrDefault(); currentUnitInfo.SelectedDataTypeId = dtinfo.DataTypeId; ViewData["defaultUnitID"] = currentUnitInfo.UnitId; ViewData["defaultDatatypeID"] = dtinfo.DataTypeId; return(PartialView(model)); }
public ActionResult SheetSelectMetaData(object[] data) { TaskManager = (EasyUploadTaskManager)Session["TaskManager"]; SelectMetaDataModel model = new SelectMetaDataModel(); model.StepInfo = TaskManager.Current(); if (TaskManager != null) { TaskManager.Current().SetValid(false); //SetValid only if a metadata-structure was selected if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.SCHEMA)) { if (Convert.ToInt64(TaskManager.Bus[EasyUploadTaskManager.SCHEMA]) >= 0) { TaskManager.Current().SetValid(true); } else { model.ErrorList.Add(new Error(ErrorType.Other, "No valid Metadata schema is selected.")); } } else { model.ErrorList.Add(new Error(ErrorType.Other, "No Metadata schema is selected.")); } //If the user typed in a title, the title must not be empty if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.DESCRIPTIONTITLE)) { string tmp = Convert.ToString(TaskManager.Bus[EasyUploadTaskManager.DESCRIPTIONTITLE]); if (String.IsNullOrWhiteSpace(tmp)) { TaskManager.Current().SetValid(false); model.ErrorList.Add(new Error(ErrorType.Other, "The title must not be empty.")); } } if (TaskManager.Current().valid == true) //Jump to next step of the upload { TaskManager.AddExecutedStep(TaskManager.Current()); TaskManager.GoToNext(); Session["TaskManager"] = TaskManager; ActionInfo actionInfo = TaskManager.Current().GetActionInfo; return(RedirectToAction(actionInfo.ActionName, actionInfo.ControllerName, new RouteValueDictionary { { "area", actionInfo.AreaName }, { "index", TaskManager.GetCurrentStepInfoIndex() } })); } else //Model isn't valid, display an error and stay on the same site { TaskManager.Current().SetStatus(StepStatus.error); MetadataStructureManager msm = new MetadataStructureManager(); try { IEnumerable <MetadataStructure> metadataStructureList = msm.Repo.Get(); foreach (MetadataStructure metadataStructure in metadataStructureList) { if (xmlDatasetHelper.IsActive(metadataStructure.Id) && xmlDatasetHelper.HasEntityType(metadataStructure.Id, "bexis.dlm.entities.data.dataset")) { model.AvailableMetadata.Add(new Tuple <long, string>(metadataStructure.Id, metadataStructure.Name)); } } //Sort the metadata structures model.AvailableMetadata.Sort((md1, md2) => md1.Item1.CompareTo(md2.Item1)); //reload model model.StepInfo = TaskManager.Current(); //if the title was changed at some point during the upload, load the title into the model if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.DESCRIPTIONTITLE)) { model.DescriptionTitle = Convert.ToString(TaskManager.Bus[EasyUploadTaskManager.DESCRIPTIONTITLE]); } //if it wasn't changed yet, the default title is the filename else { model.DescriptionTitle = Convert.ToString(TaskManager.Bus[EasyUploadTaskManager.FILENAME]); } } finally { msm.Dispose(); } } } return(PartialView(model)); }