private bool GenerateKMZ() { string NotUsed = ""; //StringBuilder sbKMZ = new StringBuilder(); //DateTime CD = DateTime.Now; //string Language = "_" + _TaskRunnerBaseService._BWObj.appTaskModel.Language; //string DateText = "_" + CD.Year.ToString() + // "_" + (CD.Month > 9 ? CD.Month.ToString() : "0" + CD.Month.ToString()) + // "_" + (CD.Day > 9 ? CD.Day.ToString() : "0" + CD.Day.ToString()) + // "_" + (CD.Hour > 9 ? CD.Hour.ToString() : "0" + CD.Hour.ToString()) + // "_" + (CD.Minute > 9 ? CD.Minute.ToString() : "0" + CD.Minute.ToString()); switch (reportTypeModel.TVType) { case TVTypeEnum.MikeScenario: break; case TVTypeEnum.Subsector: break; default: break; } //if (!RenameStartOfFileNameKMZ(fi)) //{ // return false; //} fi = new FileInfo(fi.FullName.Replace(".html", ".kml")); if (fi.Exists) { try { fi.Delete(); fi = new FileInfo(fi.FullName); } catch (Exception ex) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotDeleteFile_Error_, fi.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotDeleteFile_Error_", fi.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); return(false); } } switch (reportTypeModel.TVType) { case TVTypeEnum.Root: { if (!GenerateKMZRoot()) { return(false); } } break; case TVTypeEnum.Area: case TVTypeEnum.Country: case TVTypeEnum.Infrastructure: case TVTypeEnum.MikeScenario: { if (!GenerateKMZMikeScenario()) { return(false); } } break; case TVTypeEnum.MikeSource: case TVTypeEnum.Municipality: case TVTypeEnum.MWQMSite: case TVTypeEnum.PolSourceSite: case TVTypeEnum.Province: case TVTypeEnum.Sector: case TVTypeEnum.Subsector: { if (!GenerateKMZSubsector()) { return(false); } } break; case TVTypeEnum.BoxModel: case TVTypeEnum.VisualPlumesScenario: if (!GenerateKMZNotImplemented()) { return(false); } break; default: break; } DirectoryInfo di = new DirectoryInfo(fi.DirectoryName); if (!di.Exists) { try { di.Create(); } catch (Exception ex) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotCreateDirectory__, di.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotCreateDirectory__", di.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); return(false); } } StreamWriter sw = fi.CreateText(); sw.Write(sb.ToString()); sw.Flush(); sw.Close(); fi = new FileInfo(fi.FullName); if (!fi.Exists) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFindFile_, fi.FullName); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CouldNotFindFile_", fi.FullName); return(false); } //ProcessStartInfo pZip = new ProcessStartInfo(); //pZip.Arguments = "a -tzip \"" + fi.FullName.Replace(".kml", ".kmz") + "\" \"" + fi.FullName + "\""; //pZip.RedirectStandardInput = true; //pZip.UseShellExecute = false; //pZip.CreateNoWindow = true; //pZip.WindowStyle = ProcessWindowStyle.Hidden; //Process processZip = new Process(); //processZip.StartInfo = pZip; //try //{ // pZip.FileName = @"C:\Program Files\7-Zip\7z.exe"; // processZip.Start(); //} //catch (Exception ex) //{ // NotUsed = string.Format(TaskRunnerServiceRes.CompressKMLDidNotWorkWith7zError_, ex.Message); // _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CompressKMLDidNotWorkWith7zError_", ex.Message); // return false; //} //while (!processZip.HasExited) //{ // // waiting for the processZip to finish then continue //} //fi = new FileInfo(fi.FullName); //if (fi.Exists) //{ // try // { // //fi.Delete(); // } // catch (Exception ex) // { // NotUsed = string.Format(TaskRunnerServiceRes.CouldNotDeleteFile_Error_, fi.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); // _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotDeleteFile_Error_", fi.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); // return false; // } //} //fi = new FileInfo(fi.FullName.Replace(".kml", ".kmz")); //if (!fi.Exists) //{ // NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFindFile_, fi.FullName); // _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CouldNotFindFile_", fi.FullName); // return false; //} TVFileService tvFileService = new TVFileService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemModel tvItemModel = tvItemService.PostAddChildTVItemDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID, fi.Name.Replace(fi.Extension, ""), TVTypeEnum.File); if (!string.IsNullOrWhiteSpace(tvItemModel.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotAdd_Error_, TaskRunnerServiceRes.TVItem, _TaskRunnerBaseService._BWObj.appTaskModel.TVItemID.ToString()); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotAdd_Error_", TaskRunnerServiceRes.TVItem, _TaskRunnerBaseService._BWObj.appTaskModel.TVItemID.ToString()); return(false); } TVFileModel tvFileModelNew = new TVFileModel(); tvFileModelNew.TVFileTVItemID = tvItemModel.TVItemID; tvFileModelNew.TemplateTVType = 0; tvFileModelNew.ReportTypeID = reportTypeModel.ReportTypeID; tvFileModelNew.Parameters = Parameters; tvFileModelNew.ServerFileName = fi.Name; tvFileModelNew.FilePurpose = FilePurposeEnum.ReportGenerated; tvFileModelNew.Language = _TaskRunnerBaseService._BWObj.appTaskModel.Language; tvFileModelNew.Year = DateTime.Now.Year; tvFileModelNew.FileDescription = reportTypeModel.Description; tvFileModelNew.FileType = tvFileService.GetFileType(fi.Extension); tvFileModelNew.FileSize_kb = (((int)fi.Length / 1024) == 0 ? 1 : (int)fi.Length / 1024); tvFileModelNew.FileInfo = TaskRunnerServiceRes.FileName + "[" + fi.Name + "]\r\n" + TaskRunnerServiceRes.FileType + "[" + fi.Extension + "]\r\n"; tvFileModelNew.FileCreatedDate_UTC = fi.LastWriteTimeUtc; tvFileModelNew.ServerFilePath = (fi.DirectoryName + @"\").Replace(@"C:\", @"E:\"); tvFileModelNew.LastUpdateDate_UTC = DateTime.UtcNow; tvFileModelNew.LastUpdateContactTVItemID = _TaskRunnerBaseService._BWObj.appTaskModel.LastUpdateContactTVItemID; TVFileModel tvFileModelRet = tvFileService.PostAddTVFileDB(tvFileModelNew); if (!string.IsNullOrWhiteSpace(tvFileModelRet.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotAdd_Error_, TaskRunnerServiceRes.TVFile, tvFileModelRet.Error); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotAdd_Error_", TaskRunnerServiceRes.TVFile, tvFileModelRet.Error); return(false); } return(true); }
public TVItemModel PictureFileUploadDB(HttpRequestBase Request) { string AdminEmail = Request.QueryString["e"]; int TVItemID = int.Parse(Request.QueryString["t"]); IPrincipal user = new GenericPrincipal(new GenericIdentity(AdminEmail, "Forms"), null); ContactService contactService = new ContactService(LanguageRequest, user); ContactModel contactModel = contactService.GetContactModelWithLoginEmailDB(AdminEmail); if (!string.IsNullOrWhiteSpace(contactModel.Error)) { return(new TVItemModel() { Error = "ERROR: " + string.Format(ServiceRes.NoUserWithEmail_, AdminEmail) }); } TVItemService tvItemService = new TVItemService(LanguageRequest, user); TVFileService tvFileService = new TVFileService(LanguageRequest, user); List <string> AllowableExt = tvFileService.GetAllowableExt(); TVFileModel tvFileModelRet = new TVFileModel(); using (TransactionScope ts = new TransactionScope()) { string FileName = ""; if (Request.Files.Count != 1) { return new TVItemModel() { Error = "ERROR: " + ServiceRes.CanOnlyLoadOneFileAtATime } } ; HttpPostedFileBase hpf = null; foreach (string file in Request.Files) { hpf = Request.Files[file]; } if (hpf == null) { return new TVItemModel() { Error = "ERROR: " + ServiceRes.PleaseSelectAFileToUpload } } ; FileName = hpf.FileName; FileInfo fi = new FileInfo(FileName); if (!AllowableExt.Contains(fi.Extension.ToLower())) { string AllowableExtText = ""; foreach (string s in AllowableExt) { AllowableExtText += s + " "; } return(new TVItemModel() { Error = "ERROR: " + string.Format(ServiceRes.PleaseSelectAFileOfType_, AllowableExtText) }); } string ServerFileName = ""; if (FileName.Contains(@"\")) { ServerFileName = FileName.Substring(FileName.LastIndexOf(@"\") + 1); } else { ServerFileName = FileName; } TVItemModel tvItemModelPSS = tvItemService.GetTVItemModelWithTVItemIDDB(TVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelPSS.Error)) { return(new TVItemModel() { Error = "ERROR: " + tvItemModelPSS.Error }); } TVItemModel tvItemModelExist = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelPSS.TVItemID, ServerFileName, TVTypeEnum.File); if (string.IsNullOrEmpty(tvItemModelExist.Error)) { return(new TVItemModel() { Error = "ERROR: " + string.Format(ServiceRes._AlreadyExists, ServerFileName) }); } TVItemModel tvItemModelTVFileRet = tvItemService.PostAddChildTVItemDB(tvItemModelPSS.TVItemID, ServerFileName, TVTypeEnum.File); if (!string.IsNullOrEmpty(tvItemModelTVFileRet.Error)) { return(new TVItemModel() { Error = "ERROR: " + tvItemModelTVFileRet.Error }); } string ServerFilePath = tvFileService.GetServerFilePath(tvItemModelPSS.TVItemID); int FileLength = hpf.ContentLength; DirectoryInfo di = new DirectoryInfo(ServerFilePath); if (!di.Exists) { di.Create(); } fi = new FileInfo(ServerFilePath + ServerFileName); if (fi.Exists) { return(new TVItemModel() { Error = "ERROR: " + string.Format(ServiceRes.File_AlreadyExist, ServerFileName) }); } hpf.SaveAs(fi.FullName); FileTypeEnum fileType = tvFileService.GetFileType(fi.Extension.ToUpper()); TVFileModel tvFileModelNew = new TVFileModel() { TVFileTVItemID = tvItemModelTVFileRet.TVItemID, FilePurpose = FilePurposeEnum.Picture, FileDescription = "Temp description", FileType = fileType, FileSize_kb = Math.Max(hpf.ContentLength / 1024, 1), FileInfo = "Uploaded file", FileCreatedDate_UTC = DateTime.Now, FromWater = false, ClientFilePath = FileName, ServerFileName = ServerFileName, ServerFilePath = ServerFilePath, Language = LanguageEnum.en, Year = DateTime.Now.Year, }; tvFileModelRet = tvFileService.PostAddTVFileDB(tvFileModelNew); if (!string.IsNullOrWhiteSpace(tvFileModelRet.Error)) { DeleteFileFromServer(fi); { return(new TVItemModel() { Error = "ERROR: " + tvFileModelRet.Error }); } } ts.Complete(); } return(new TVItemModel() { Error = tvFileModelRet.TVFileTVItemID.ToString() }); }