private Models.FileResponse CheckFileState(ExcelFile excelFile) { var fileResponse = new Models.FileResponse(); if (excelFile.StateId != Framework.MakerChecker.States.InputVerified.Id && excelFile.StateId != Framework.MakerChecker.States.EditVerified.Id) { fileResponse.ResponseMessage = "File is not verified, you can not generate"; return(fileResponse); } if (excelFile.FileStateId == Models.FileState.Processed.Id) { fileResponse.ResponseMessage = "File had already been generated"; return(fileResponse); } return(fileResponse); }
private ResponseOf <byte[]> GenerateFile(int excelFileId, string userName, string swiftTypeDVP, string swiftTypeDF) { var fileResponse = new Models.FileResponse(); var excelFile = dbContext.ExcelFile.FirstOrDefault(x => x.ExcelFileId == excelFileId); excelFile.StateMaker = userName; fileResponse = CheckFileState(excelFile); if (fileResponse.ResponseMessage != null) //fail { Response.AddMessage(fileResponse.ResponseMessage, "", MessageTypes.Error, isEndUserMessage: true); Response.SetFailed(); } else //success { excelFile.FileStateId = Models.FileState.Processed.Id; mFUOperationsHelper.UpdateExcelFile(excelFile, dbContext); string userFirstTwhoChar = userName.ToString().Substring(0, 2).ToUpper(); string excelFileIdPadLeft = excelFileId.ToString().PadLeft(5, '0') + ".txt"; string dvpFileName = userFirstTwhoChar + "543" + excelFileIdPadLeft; string dfFileName = userFirstTwhoChar + "542" + excelFileIdPadLeft; var mfUSwiftInfoList = dbContext.MfuswiftInfo.Where(x => x.FileId == excelFileId).ToList(); fileResponse.ResponseMessage = "Swift messages have been generated SUCCESFULLY. Please check the directory SWIFT MESSAGES."; fileResponse.FileNameBodyList.Add(new Models.FileNameBody { Name = dvpFileName, Body = GetDVPFile(mfUSwiftInfoList, dvpFileName, swiftTypeDVP) }); fileResponse.FileNameBodyList.Add(new Models.FileNameBody { Name = dfFileName, Body = GetDFFile(mfUSwiftInfoList, dfFileName, swiftTypeDF) }); Response.Data = FileHelper.ZipFiles(fileResponse.FileNameBodyList); Response.AddMessage(fileResponse.ResponseMessage, "", MessageTypes.Success, isEndUserMessage: true); Response.SetSuccess(); } return(Response); }