private static Models.ProcessFiles.Response.PipelineStatus CheckPipelineStatus() { try { var context = new Magnaflow_WebEntities(); Models.ProcessFiles.Response.PipelineStatus pipelineStatus = new Models.ProcessFiles.Response.PipelineStatus(); var activeFileBatch = context.EPM_ProcessFilesBatch.Where(x => x.Active == true).FirstOrDefault(); if (activeFileBatch == null) { pipelineStatus.Active = false; } else { pipelineStatus.Active = true; pipelineStatus.ActiveStage = activeFileBatch.StageId; pipelineStatus.BatchId = activeFileBatch.BatchId; } return(pipelineStatus); } catch (Exception ex) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { ReasonPhrase = "> from CheckPipelineStatus: " + ex.Message }); } }
//[Authorize(Roles = "DataTeam_APPS_RW, APP_ADMINS")] public ActionResult Delete(ExtPartMapping entry) { var context = new Magnaflow_WebEntities(); var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; Models.Response.Response response = null; /* * Do checks here making sure input is as expectied */ try { var deleteEntry = context.ExtPartMappings.Where(x => x.Id == entry.Id).FirstOrDefault(); if (deleteEntry != null) { context.ExtPartMappings.Remove(deleteEntry); context.SaveChanges(); response = new Models.Response.Response() { Success = true, JSON_RESPONSE_DATA = null // JsonConvert.SerializeObject(commissionDataResponseObject)// JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings) }; #region log activity var logDelete = new ExtPartMappingToolStagingActivity() { Time = DateTime.UtcNow, UserId = User.Identity.Name, ActionType = Types.ActionType.DELETE }; #endregion context.ExtPartMappingToolStagingActivities.Add(logDelete); context.SaveChanges(); } else { response = new Models.Response.Response() { Success = false, JSON_RESPONSE_DATA = null, // JsonConvert.SerializeObject(commissionDataResponseObject)// JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings) Message = "Data submitted to delete does not exist." }; } return(this.Json(response, JsonRequestBehavior.AllowGet)); }catch (Exception ex) { throw;// new HttpException(404, "Internal error"); } //return JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings); //Returns students list as JSON }
public static bool InitiateFiles(List <String> acesFileNames, List <String> piesFileNames, bool isStaging) { try { var context = new Magnaflow_WebEntities(); var processFilesBatch = new EPM_ProcessFilesBatch() { StageId = isStaging? Models.Types.ProcessFilesStages.StagingInit: Models.Types.ProcessFilesStages.ProductionInit, Active = true }; context.EPM_ProcessFilesBatch.Add(processFilesBatch); context.SaveChanges(); foreach (var fileName in acesFileNames) { if (!String.IsNullOrWhiteSpace(fileName)) { var acesFile = new EPM_ProcessFilesDetail() { BatchId = processFilesBatch.BatchId, FileName = fileName }; context.EPM_ProcessFilesDetail.Add(acesFile); } } foreach (var fileName in piesFileNames) { if (!String.IsNullOrWhiteSpace(fileName)) { var piesFile = new EPM_ProcessFilesDetail() { BatchId = processFilesBatch.BatchId, FileName = fileName }; context.EPM_ProcessFilesDetail.Add(piesFile); } } context.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
public IHttpActionResult CompleteContents() { try { var context = new Magnaflow_WebEntities(); var stagingFilesContents = new Models.ProcessFiles.Response.StagingDirectoryContent(); Models.ProcessFiles.Response.PipelineStatus pipelineStatus = CheckPipelineStatus(); AssertStep(pipelineStatus, Models.Types.ProcessFilesStages.ProductionComplete); NetworkCredential NCredentials = GetNetworkCredential(); using (new NetworkConnection(GetFileStoreHost(), NCredentials)) { //The Host Directroy DirectoryInfo stagingDirectoryInfo = Directory.CreateDirectory(GetFileStoreHost()); //Individual Aces and Pies Directory DirectoryInfo directoryComplete = stagingDirectoryInfo.CreateSubdirectory(_Complete); //find files that are currently active var namesOfActiveFiles = context.EPM_ProcessFilesDetail.Where(x => x.BatchId == pipelineStatus.BatchId).Select(x => x.FileName).ToList(); //Get Name Files/Contents. var matchingNamesOfActiveFiles = directoryComplete.EnumerateFiles().Where(x => namesOfActiveFiles.Contains(x.Name)).Select(x => x.Name).ToList(); //var fileNamesPies = directoryPies.EnumerateFiles().Select(x => x.Name).ToList(); //stagingFilesContents.FileNamesAces = fileNamesAces; //stagingFilesContents.FileNamesPies = fileNamesPies; stagingFilesContents.FileNamesComplete = matchingNamesOfActiveFiles; //and before closing, release the pipeline Helpers.ProcessFilePipelineTracker.ClosePipeline(pipelineStatus.BatchId); return(Ok(stagingFilesContents)); } } catch (HttpResponseException ex) { throw; } catch (Exception ex) { throw; } }
public static bool ClosePipeline(int batchId) { try { var context = new Magnaflow_WebEntities(); var activeFileBatch = context.EPM_ProcessFilesBatch.Where(x => x.BatchId == batchId).FirstOrDefault(); if (activeFileBatch == null) { return(false); } activeFileBatch.Active = false; context.SaveChanges(); } catch (Exception ex) { } return(true); }
public static bool ProductionInit(int batchId) { try { var context = new Magnaflow_WebEntities(); var activeFileBatch = context.EPM_ProcessFilesBatch.Where(x => x.BatchId == batchId).FirstOrDefault(); if (activeFileBatch == null) { return(false); } activeFileBatch.StageId = Models.Types.ProcessFilesStages.ProductionInit; context.SaveChanges(); } catch (Exception ex) { } return(true); }
public ActionResult Commit(List <ExtPartMappingToolUploadStaging> stagingList) { var context = new Magnaflow_WebEntities(); Models.Response.Response response = null; try { foreach (var stagingRecord in stagingList) { context.ExtPartMappings.Add(new ExtPartMapping() { OldPartId = stagingRecord.OldPartId, NewPartId = stagingRecord.NewPartId }); } var logBeginUpload = new ExtPartMappingToolStagingActivity() { Time = DateTime.UtcNow, UserId = User.Identity.Name, ActionType = Types.ActionType.COMMIT_UPLOAD }; context.ExtPartMappingToolStagingActivities.Add(logBeginUpload); context.SaveChanges(); response = new Models.Response.Response() { Success = true, JSON_RESPONSE_DATA = null// JsonConvert.SerializeObject(stagingList) }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { response = new Models.Response.Response() { Success = false, JSON_RESPONSE_DATA = JsonConvert.SerializeObject("Internal_Error") }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } }
private static Models.ProcessFiles.Response.PipelineStatus CheckPipelineStatus() { var context = new Magnaflow_WebEntities(); Models.ProcessFiles.Response.PipelineStatus pipelineStatus = new Models.ProcessFiles.Response.PipelineStatus(); var activeFileBatch = context.EPM_ProcessFilesBatch.Where(x => x.Active == true).FirstOrDefault(); if (activeFileBatch == null) { pipelineStatus.Active = false; } else { pipelineStatus.Active = true; pipelineStatus.ActiveStage = activeFileBatch.StageId; pipelineStatus.BatchId = activeFileBatch.BatchId; } return(pipelineStatus); }
//[Authorize(Roles = "DataTeam_APPS_RW, DataTeam_APPS_RO")] public ActionResult ExtPartMappings() { var context = new Magnaflow_WebEntities(); var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; var extPartMappings = context.ExtPartMappings.ToList(); Models.Response.Response response = null; if (extPartMappings == null || extPartMappings.Count() == 0) { //Used to make property name as camel case /*Microsoft.Data.OData.ODataError error = new Microsoft.Data.OData.ODataError() * { * ErrorCode = "404", * Message = "Customer Not Fount" * } * return JsonConvert.SerializeObject(error, Formatting.None, settings);*///Returns students list as JSON response = new Models.Response.Response() { Success = false, JSON_RESPONSE_DATA = null, Message = "Data set is empty" }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } response = new Models.Response.Response() { Success = true, JSON_RESPONSE_DATA = JsonConvert.SerializeObject(extPartMappings)// JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings) }; return(this.Json(response, JsonRequestBehavior.AllowGet)); //return JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings); //Returns students list as JSON }
public ActionResult Search(string oldPartId = null, string newPartId = null) { var context = new Magnaflow_WebEntities(); var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; List <ExtPartMapping> parts = null; Models.Response.Response response = null; var oldPID = String.IsNullOrWhiteSpace(oldPartId); var newPID = String.IsNullOrWhiteSpace(newPartId); try { if (!oldPID && !newPID) { parts = context.ExtPartMappings.Where(x => x.OldPartId == oldPartId.Trim() && x.NewPartId == newPartId.Trim()).ToList(); } else if (!oldPID) { parts = context.ExtPartMappings.Where(x => x.OldPartId == oldPartId.Trim()).ToList(); } else if (!newPID) { parts = context.ExtPartMappings.Where(x => x.NewPartId == newPartId.Trim()).ToList(); } else { response = new Models.Response.Response() { Success = false, JSON_RESPONSE_DATA = null, Message = "Try again. This time, try searching for a part_Id" }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } if (parts.Count() == 0) { response = new Models.Response.Response() { Success = false, JSON_RESPONSE_DATA = null, Message = "Search Yielded no results." }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } response = new Models.Response.Response() { Success = true, JSON_RESPONSE_DATA = JsonConvert.SerializeObject(parts)// JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings) }; return(this.Json(response, JsonRequestBehavior.AllowGet)); }catch (Exception ex) { throw; } //return JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings); //Returns students list as JSON }
//[Authorize(Roles = "DataTeam_APPS_RW, APP_ADMINS")] public ActionResult Save(Models.Request.NestedViews.Save saveModel) { var context = new Magnaflow_WebEntities(); var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; Models.Response.Response response = null; ExtPartMapping extPartEntry = null; //Models.CommissionData commissionDataResponseObject = null; /* * get rid of non alphanumeric and spaces [^a-zA-Z0-9] */ if (saveModel.Id != null) { extPartEntry = context.ExtPartMappings.Where(x => x.Id == saveModel.Id).FirstOrDefault(); if (extPartEntry == null) { response = new Models.Response.Response() { Success = false, JSON_RESPONSE_DATA = null, //JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings) Message = "Data to edit does not exist." }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } else { extPartEntry.OldPartId = saveModel.OldPartId; extPartEntry.NewPartId = saveModel.NewPartId; context.SaveChanges(); #region log save var logUpdate = new ExtPartMappingToolStagingActivity() { Time = DateTime.UtcNow, UserId = User.Identity.Name, ActionType = Types.ActionType.UPDATE }; context.ExtPartMappingToolStagingActivities.Add(logUpdate); context.SaveChanges(); #endregion response = new Models.Response.Response() { Success = true, JSON_RESPONSE_DATA = JsonConvert.SerializeObject(extPartEntry)// JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings) }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } } else //if it's null we're adding { extPartEntry = new ExtPartMapping() { OldPartId = saveModel.OldPartId, NewPartId = saveModel.NewPartId }; context.ExtPartMappings.Add(extPartEntry); context.SaveChanges(); /* Here needs to be an updatae model of the extpartmapping added object */ #region log save var logSave = new ExtPartMappingToolStagingActivity() { Time = DateTime.UtcNow, UserId = User.Identity.Name, ActionType = Types.ActionType.SAVE }; context.ExtPartMappingToolStagingActivities.Add(logSave); context.SaveChanges(); #endregion response = new Models.Response.Response() { Success = true, JSON_RESPONSE_DATA = JsonConvert.SerializeObject(extPartEntry)// JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings) }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } //return JsonConvert.SerializeObject(commissionDataResponseObject, Formatting.None, settings); //Returns students list as JSON }
public ActionResult Upload(HttpPostedFileBase file) { var context = new Magnaflow_WebEntities(); var instantiateLogEntry = true; int?stagingActivityId = null; Models.Response.Response response = null; List <ExtPartMappingToolUploadStaging> uploadStagingList = new List <ExtPartMappingToolUploadStaging>(); try { using (var package = new ExcelPackage(file.InputStream)) { // get the first worksheet in the workbook ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; for (int row = 1; worksheet.Cells[row, 1].Value != null; row++) { var oldPartId = worksheet.Cells[row, 1].Value; var newPartId = worksheet.Cells[row, 2].Value; #region log begin upload if (instantiateLogEntry) { var logBeginUpload = new ExtPartMappingToolStagingActivity() { Time = DateTime.UtcNow, UserId = User.Identity.Name, ActionType = Types.ActionType.BEGIN_UPLOAD }; context.ExtPartMappingToolStagingActivities.Add(logBeginUpload); context.SaveChanges(); stagingActivityId = logBeginUpload.StagingActivityId; instantiateLogEntry = false; } #endregion /* add to upload staging */ uploadStagingList.Add(new ExtPartMappingToolUploadStaging() { StagingActiviyId = (int)stagingActivityId, OldPartId = oldPartId.ToString(), NewPartId = newPartId.ToString() }); } context.ExtPartMappingToolUploadStagings.AddRange(uploadStagingList); /*foreach(var record in uploadStagingList) * { * context.ExtPartMappingToolUploadStagings.Add(record); * }*/ context.SaveChanges(); } // the using response = new Models.Response.Response() { Success = true, JSON_RESPONSE_DATA = JsonConvert.SerializeObject(uploadStagingList) }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { response = new Models.Response.Response() { Success = false, JSON_RESPONSE_DATA = JsonConvert.SerializeObject("Internal_Error") }; return(this.Json(response, JsonRequestBehavior.AllowGet)); } }