/// <summary> /// This method is used for the insert/Update SaveDocumentDetails details. /// </summary> /// <param name="i_sConnectionString">Connection string</param> /// <param name="i_objDocumentDetailsDTO">DocumentDetails Object</param> /// <param name="nLoggedInUserId">Logged In User</param> /// <returns>Returns boolean value based on the result</returns> public List <DocumentDetailsModel> SaveFormGDocumentDetails(string i_sConnectionString, List <DocumentDetailsModel> i_lstDocumentDetailsModel, int i_nMapToCodeTypeId, int i_nMaptoID, int i_nLoggedInUserId) { List <DocumentDetailsModel> retListDocumentDetailsModel = new List <DocumentDetailsModel>(); DocumentDetailsDTO objDocumentDetailsDTO = new DocumentDetailsDTO(); string directory = ConfigurationManager.AppSettings["Document"]; string rootDirectory = directory; DirectoryInfo di; LoginUserDetails objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); try { //check file is uploaded by checking document model if (i_lstDocumentDetailsModel != null && i_lstDocumentDetailsModel.Count > 0) { foreach (DocumentDetailsModel objDocumentDetailsModel in i_lstDocumentDetailsModel) { Common.Common.CopyObjectPropertyByName(objDocumentDetailsModel, objDocumentDetailsDTO); //save record into DB for file upload using (var objDocumentDetailsDAL = new DocumentDetailsDAL()) { objDocumentDetailsDTO = objDocumentDetailsDAL.SaveDocumentDetails(i_sConnectionString, objDocumentDetailsDTO, objLoginUserDetails.LoggedInUserID); } //add save/updated record into list retListDocumentDetailsModel.Add(objDocumentDetailsModel); } } } catch (Exception exp) { throw exp; } return(retListDocumentDetailsModel); }
public FileStreamResult Download(int nDocumentDetailsID, string GUID, string sDocumentName, string sFileType, int acid) { string directory = ConfigurationManager.AppSettings["Document"]; string sExtension = ""; LoginUserDetails objLoginUserDetails = null; DocumentDetailsDTO objDocumentDetailsDTO = null; try { if (nDocumentDetailsID == 0) { directory = Path.Combine(directory, "temp", GUID); if (System.IO.File.Exists(directory)) { return(File(new FileStream(directory, FileMode.Open), sFileType, sDocumentName)); } } else { objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); using (DocumentDetailsSL objDocumentDetailsSL = new DocumentDetailsSL()) { objDocumentDetailsDTO = objDocumentDetailsSL.GetDocumentDetails(objLoginUserDetails.CompanyDBConnectionString, nDocumentDetailsID); /*For user document, extensions are not stored in the file name, so that are to be explicitly concatenated */ if (objDocumentDetailsDTO.MapToTypeCodeId == ConstEnum.Code.UserDocument) { sExtension = objDocumentDetailsDTO.FileType; } directory = Path.Combine(directory, Common.Common.ConvertToString(objDocumentDetailsDTO.MapToTypeCodeId), Common.Common.ConvertToString(objDocumentDetailsDTO.MapToId), objDocumentDetailsDTO.GUID); if (System.IO.File.Exists(directory)) { return(File(new FileStream(directory, FileMode.Open), objDocumentDetailsDTO.FileType, objDocumentDetailsDTO.DocumentName + sExtension /*+ objDocumentDetailsDTO.FileType*/)); } } } } finally { objLoginUserDetails = null; objDocumentDetailsDTO = null; } return(null); }
public ActionResult ShowUserConsent(int acid, int DocumentID) { DocumentDetailsSL objDocumentDetailsSL = null; EULAAcceptanceModel objEULAAcceptanceModel = new EULAAcceptanceModel(); LoginUserDetails objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); DocumentDetailsDTO objDocumentDetailsDTO = new DocumentDetailsDTO(); try { objDocumentDetailsSL = new DocumentDetailsSL(); //check if document has uploaded or not -- by checking document id - in case of not uploaded document id is "0" if (DocumentID > 0) { objDocumentDetailsDTO = objDocumentDetailsSL.GetDocumentDetails(objLoginUserDetails.CompanyDBConnectionString, DocumentID); } //copy document details DTO into User policy document model objEULAAcceptanceModel.DocumentID = objDocumentDetailsDTO.DocumentId; objEULAAcceptanceModel.DocumentName = objDocumentDetailsDTO.DocumentName; objEULAAcceptanceModel.DocumentFileType = objDocumentDetailsDTO.FileType; objEULAAcceptanceModel.DocumentPath = objDocumentDetailsDTO.DocumentPath; objEULAAcceptanceModel.UserInfoID = objLoginUserDetails.LoggedInUserID; objEULAAcceptanceModel.EULAAcceptanceFlag = false; ViewBag.UserAction = acid; return(View("~/Views/UserDetails/UserConsent.cshtml", objEULAAcceptanceModel)); } catch (Exception ex) { string sErrMessage = Common.Common.getResource(ex.InnerException.Data[0].ToString()); ModelState.AddModelError("Error", sErrMessage); return(View("~/Views/UserDetails/UserConsent.cshtml")); } finally { objDocumentDetailsSL = null; objEULAAcceptanceModel = null; objLoginUserDetails = null; objDocumentDetailsDTO = null; } }
/// <summary> /// This method is used to get Document details. /// </summary> /// <param name="i_sConnectionString">Connection string</param> /// <param name="i_nDocumentDetailsID">DocumentDetailsID to delete</param> /// <returns>Returns boolean value based on the result</returns> public DocumentDetailsDTO GetDocumentDetails(string i_sConnectionString, int i_nDocumentDetailsID) { DocumentDetailsDTO objDocumentDetailsDTO = new DocumentDetailsDTO(); try { //DocumentDetailsDAL objDocumentDetailsDAL = new DocumentDetailsDAL(); using (var objDocumentDetailsDAL = new DocumentDetailsDAL()) { objDocumentDetailsDTO = objDocumentDetailsDAL.GetDocumentDetails(i_sConnectionString, i_nDocumentDetailsID); } } catch (Exception exp) { throw exp; } return(objDocumentDetailsDTO); }
public void Generate(EULAAcceptanceModel objEULAAcceptanceModel, int acid, int nDocumentId = 0) { String mimeType = "application/unknown"; DocumentDetailsSL objDocumentDetailsSL = new DocumentDetailsSL(); DocumentDetailsDTO objDocumentDetailsDTO = new DocumentDetailsDTO(); LoginUserDetails objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); System.IO.FileInfo fFile = null; try { Dictionary <String, String> mtypes = new Dictionary <string, string>() { { ".pdf", "application/pdf" }, { ".png", "application/png" }, { ".jpeg", "application/jpeg" }, { ".jpg", "application/jpeg" }, { ".txt", "text/plain" }, { ".xls", "application/vnd.ms-excel" }, { ".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet " }, { ".doc", "application/msword" }, { ".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" }, { ".html", "text/html" }, { ".htm", "text/html" }, }; if (nDocumentId != 0) { objDocumentDetailsDTO = objDocumentDetailsSL.GetDocumentDetails(objLoginUserDetails.CompanyDBConnectionString, nDocumentId); } fFile = new System.IO.FileInfo(objDocumentDetailsDTO.DocumentPath); Response.Clear(); // ContentDisposition Value and Parameter are used. // Meaning of Value [inline] : Displayed automatically // Meaning of Parameter [filename] : Name to be used when creating file ContentDisposition contentDisposition = new ContentDisposition { FileName = objDocumentDetailsDTO.DocumentName, Inline = true }; Response.AppendHeader("Content-Disposition", contentDisposition.ToString()); String filetype = fFile.Extension.ToLower(); if (mtypes.Keys.Contains <String>(filetype)) { mimeType = mtypes[filetype]; } Response.ContentType = mimeType; Response.WriteFile(fFile.FullName); Response.End(); //NOTE - ADDED ABOVE CODE TO HANDLE DIFFERENT FILE TYPE ////Response.AddHeader("Content-Length", fFile.Length.ToString()); //if (fFile.Extension.ToLower() == ".pdf") //{ // Response.ContentType = "application/pdf"; // Response.WriteFile(fFile.FullName); // Response.End(); //} //else if (fFile.Extension.ToLower() == ".xls" || fFile.Extension.ToLower() == ".xlsx") //{ // Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; // Response.WriteFile(fFile.FullName); // Response.End(); //} //else if (fFile.Extension.ToLower() == ".png" || fFile.Extension.ToLower() == ".jpg") //{ // Response.ContentType = "image/png"; // Response.WriteFile(fFile.FullName); // Response.End(); //} //else if (fFile.Extension.ToLower() == ".docx" || fFile.Extension.ToLower() == ".doc") //{ // Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; // Response.WriteFile(fFile.FullName); // Response.End(); // //NOTE - Following code is commented because to make functionality similar to other file types // //START COMMENT ===> // //Microsoft.Office.Interop.Word.Application objWordApp = new Microsoft.Office.Interop.Word.Application(); // //object objWordFile = objUsersPolicyDocumentModel.PolicyDocumentPath; // //object objNull = System.Reflection.Missing.Value; // //Microsoft.Office.Interop.Word.Document WordDoc = objWordApp.Documents.Open( // //ref objWordFile, ref objNull, ref objNull, // //ref objNull, ref objNull, ref objNull, // //ref objNull, ref objNull, ref objNull, // //ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull); // //WordDoc.ActiveWindow.Selection.WholeStory(); // //WordDoc.ActiveWindow.Selection.Copy(); // //string strWordText = WordDoc.Content.Text; // //WordDoc.Close(ref objNull, ref objNull, ref objNull); // //objWordApp.Quit(ref objNull, ref objNull, ref objNull); // //Response.Write(strWordText); // //END COMMENT <=== //} //else if (fFile.Extension.ToLower() == ".txt") //{ // Response.ContentType = "application/text"; // Response.WriteFile(fFile.FullName); // Response.End(); //} //byte[] bytes = System.IO.File.ReadAllBytes(objUsersPolicyDocumentModel.PolicyDocumentPath); //return File(bytes, "application/pdf"); } catch (Exception exp) { @ViewBag.ErrorMsg = exp.Message; //throw exp; } finally { objDocumentDetailsSL = null; objDocumentDetailsDTO = null; objLoginUserDetails = null; fFile = null; } }
public JsonResult UploadDocument(Dictionary <int, List <DocumentDetailsModel> > dicDocumentDetailsModel, int acid, int buttonName, int index, string divclone) { var ErrorDictionary = new Dictionary <string, string>(); String UploadStatusMsg = ""; int UploadStatusCode = -1; //used to set upload status message - this is default return msg code LoginUserDetails objLoginUserDetails = null; DocumentDetailsDTO objDocumentDetailsDTO = null; List <DocumentDetailsModel> lstSaveDetailsModel = null; List <Object> lstobject = null; try { string directory = ConfigurationManager.AppSettings["Document"]; string rootDirectory = directory; DirectoryInfo di; objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); objDocumentDetailsDTO = new DocumentDetailsDTO(); lstSaveDetailsModel = new List <DocumentDetailsModel>(); lstobject = new List <object>(); bool bFlag = false; //flag used to bool bReturnStatus = true; int nMapToId = 0; string newFileName = string.Empty; //check dictionary which content document uploade details - if it is not empty if (dicDocumentDetailsModel.Count != 0 && dicDocumentDetailsModel.ContainsKey(buttonName)) { List <DocumentDetailsModel> lstDocumentDetailsModel = new List <DocumentDetailsModel>(); List <string> lstExtensions = new List <string>(); lstExtensions.Add("pdf"); lstExtensions.Add("xls"); lstExtensions.Add("xlsx"); lstExtensions.Add("doc"); lstExtensions.Add("docx"); lstExtensions.Add("png"); lstExtensions.Add("jpg"); lstExtensions.Add("jpeg"); //lstExtensions.Add("html"); //lstExtensions.Add("htm"); lstDocumentDetailsModel = dicDocumentDetailsModel[buttonName]; //process each document model foreach (DocumentDetailsModel objDocumentDetailsModel in lstDocumentDetailsModel) { //Check file contains more than one dots if (objDocumentDetailsModel.Document != null) { //check if actual file is uploaded by checking model document property string extension = System.IO.Path.GetExtension(objDocumentDetailsModel.Document.FileName).ToLower(); if (extension != ".pdf" && acid == InsiderTrading.Common.ConstEnum.UserActions.CO_DISCLOSURE_DETAILS_CONTINUOUS_DISCLOSURE_LETTER_SUBMISSION && objLoginUserDetails.CompanyName.ToUpper().Contains(InsiderTrading.Common.ConstEnum.CLIENT_DB_NAME_IGNORE_DATABASE)) { UploadStatusCode = 5; } else if (extension != ".html" && extension != ".htm" && acid == InsiderTrading.Common.ConstEnum.UserActions.COMPANY_VIEW) { UploadStatusCode = 6; } else { if (lstExtensions.Contains(extension.Remove(0, 1))) { extension = System.IO.Path.GetExtension(objDocumentDetailsModel.Document.FileName).ToLower(); newFileName = Guid.NewGuid() + extension; //check if document is uploaded for first time or updating existing document if (objDocumentDetailsModel.MapToId != 0) { //updating existing document record bFlag = true; nMapToId = objDocumentDetailsModel.MapToId; lstSaveDetailsModel.Add(objDocumentDetailsModel); } Common.Common.CopyObjectPropertyByName(objDocumentDetailsModel, objDocumentDetailsDTO); objDocumentDetailsDTO.DocumentName = objDocumentDetailsModel.Document.FileName; objDocumentDetailsDTO.GUID = newFileName; objDocumentDetailsDTO.DocumentPath = Path.Combine(directory, newFileName); objDocumentDetailsDTO.FileSize = objDocumentDetailsModel.Document.ContentLength; objDocumentDetailsDTO.FileType = extension; //get temp folder path directory = Path.Combine(directory, "temp"); //if temp directory not exists then create temp folder if (!Directory.Exists(directory)) { di = Directory.CreateDirectory(directory); } //check guid is set or document id set then remove temp folder file if ((objDocumentDetailsModel.DocumentId != 0 && objDocumentDetailsModel.DocumentId != null) || objDocumentDetailsModel.GUID != null) { //get file object and delete file FileInfo file = new FileInfo(Path.Combine(rootDirectory, "temp", objDocumentDetailsModel.GUID)); file.Delete(); //remove guid stored in session objLoginUserDetails.DocumentDetails.Remove(objDocumentDetailsModel.GUID); } //save file into temp folder with new name as guid objDocumentDetailsModel.Document.SaveAs(Path.Combine(directory, newFileName)); //add uploaded file info into session variable objLoginUserDetails.DocumentDetails.Add(newFileName, objDocumentDetailsDTO); //save file information into user session Common.Common.SetSessionValue(ConstEnum.SessionValue.UserDetails, objLoginUserDetails); string IsofficeInstalled = ConfigurationManager.AppSettings["IsOfficeInstalled"]; ///This block is used to check whether office is installed on server if (IsofficeInstalled == "true") { if (extension == ".doc" || extension == ".docx") { Microsoft.Office.Interop.Word._Application _appWord = new Microsoft.Office.Interop.Word.Application(); Microsoft.Office.Interop.Word.Document doc = null; string pathToWordFile = Path.Combine(directory, newFileName); bool _hasMacroWord = false; try { doc = _appWord.Documents.Open(pathToWordFile, Type.Missing, true); Microsoft.Office.Interop.Word.Application wordApplication = new Microsoft.Office.Interop.Word.Application(); wordApplication.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone; wordApplication.ShowVisualBasicEditor = false; _hasMacroWord = doc.HasVBProject; if (_hasMacroWord) { UploadStatusCode = 4; } else { UploadStatusCode = 0; } doc.Close(Type.Missing, Type.Missing, Type.Missing); // _appWord.Application.Quit(); // optional _appWord.Quit(); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(_appWord); _appWord = null; if (UploadStatusCode == 4) { //get file object and delete file FileInfo file = new FileInfo(Path.Combine(rootDirectory, "temp", newFileName)); file.Delete(); } } catch (Exception ex) { // optional: this Log function should be defined somewhere in your code } } finally { if (_appWord != null) { _appWord.Quit(); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(_appWord); } } } else if (extension == ".xls" || extension == ".xlsx") { Microsoft.Office.Interop.Excel._Application _appExcel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook _workbook = null; string pathToExcelFile = Path.Combine(directory, newFileName); bool _hasMacro = false; try { _workbook = _appExcel.Workbooks.Open(pathToExcelFile, Type.Missing, true); _hasMacro = _workbook.HasVBProject; if (_hasMacro) { UploadStatusCode = 4; } else { //lstobject.Add(dic); //set uploaded file into list to return UploadStatusCode = 0; } _workbook.Close(false, Type.Missing, Type.Missing); _appExcel.Application.Quit(); _appExcel.Quit(); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(_appExcel); _appExcel = null; if (UploadStatusCode == 4) { FileInfo file = new FileInfo(Path.Combine(rootDirectory, "temp", newFileName)); file.Delete(); } } catch (Exception ex) { // optional: this Log function should be defined somewhere in your code } finally { if (_appExcel != null) { _appExcel.Quit(); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(_appExcel); } } } else { UploadStatusCode = 0; //set return msg code } } else { UploadStatusCode = 0; //set return msg code } //block end if (UploadStatusCode != 4) { //set uploaded file information into dictionary to sent back as output Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("GUID", objDocumentDetailsDTO.GUID); dic.Add("DocumentID", objDocumentDetailsDTO.DocumentId.ToString()); dic.Add("Index", objDocumentDetailsModel.Index.ToString()); dic.Add("SubIndex", objDocumentDetailsModel.SubIndex.ToString()); dic.Add("DocumentName", objDocumentDetailsDTO.DocumentName); dic.Add("FileType", objDocumentDetailsDTO.FileType); dic.Add("UserAction", acid.ToString()); lstobject.Add(dic); //set uploaded file into list to return UploadStatusCode = 0; //set return msg code } } else { UploadStatusCode = 3; //set return msg code } } } else { //UploadStatusCode = 2; //set return msg code } } //upload and update existing records if (bFlag == true && UploadStatusCode != 4) { using (DocumentDetailsSL objDocumentDetailsSL = new DocumentDetailsSL()) { List <DocumentDetailsModel> retlistDocumentDetailsModel = new List <DocumentDetailsModel>(); FileInfo file = new FileInfo(Path.Combine(rootDirectory, "temp", newFileName)); file.Delete(); //as uploading file for already existing record which has MaptoId - upload/save record directly retlistDocumentDetailsModel = objDocumentDetailsSL.SaveDocumentDetails(objLoginUserDetails.CompanyDBConnectionString, lstSaveDetailsModel, buttonName, nMapToId, objLoginUserDetails.LoggedInUserID); lstobject.Clear(); foreach (DocumentDetailsModel objDocModel in retlistDocumentDetailsModel) { //set uploaded file information into dictionary to sent back as output Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("GUID", objDocModel.GUID); dic.Add("DocumentID", objDocModel.DocumentId.ToString()); dic.Add("Index", objDocModel.Index.ToString()); dic.Add("SubIndex", objDocModel.SubIndex.ToString()); dic.Add("DocumentName", objDocModel.DocumentName); dic.Add("FileType", objDocModel.FileType); dic.Add("UserAction", acid.ToString()); lstobject.Add(dic); //set uploaded file into list to return UploadStatusCode = 0; //set return msg code } } } lstExtensions = null; } else { UploadStatusCode = 1; //set return msg code } switch (UploadStatusCode) { case 0: UploadStatusMsg = "Document uploaded successfully"; break; case 1: UploadStatusMsg = "Error occured while uploading file. Please try again"; bReturnStatus = false; break; case 2: UploadStatusMsg = "File is not attached properly and thus not able to upload file. Please try again"; bReturnStatus = false; break; case 3: UploadStatusMsg = "Only following file types can be uploaded: pdf,xls,xlsx,doc,docx,png,jpg,jpeg"; bReturnStatus = false; break; case 4: UploadStatusMsg = "Uploaded file contains macros, please remove it and then upload"; bReturnStatus = false; break; case 5: UploadStatusMsg = "Only pdf file can be uploaded"; bReturnStatus = false; break; case 6: UploadStatusMsg = "Only html file can be uploaded"; bReturnStatus = false; break; default: UploadStatusMsg = "Error occured while uploading file. Please try again"; bReturnStatus = false; break; } ErrorDictionary.Add("Document", UploadStatusMsg); return(Json(new { status = bReturnStatus, Message = ErrorDictionary, obj = lstobject, divclone = divclone }, "text/html")); } catch (Exception exp) { return(null); } finally { objLoginUserDetails = null; objDocumentDetailsDTO = null; lstSaveDetailsModel = null; } }
public JsonResult SaveDocumentDetails(int nMapToTypeCodeId, int nMapToId, string sDocName, string sDocDescription, int acid, string GUID, int nDocumentDetailsID = 0) { bool statusFlag = false; var ErrorDictionary = new Dictionary <string, string>(); LoginUserDetails objLoginUserDetails = null; DocumentDetailsDTO objDocumentDetailsDTO = null; List <DocumentDetailsModel> lstDocumentDetailsModel = null; DocumentDetailsModel objDocumentDetailsModel = null; try { if (GUID == null || GUID == "") { string sErrMessage = "Please Upload Document"; ErrorDictionary.Add("Document", sErrMessage); } else { objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); objDocumentDetailsDTO = new DocumentDetailsDTO(); lstDocumentDetailsModel = new List <DocumentDetailsModel>(); objDocumentDetailsModel = new DocumentDetailsModel(); objDocumentDetailsModel.MapToTypeCodeId = nMapToTypeCodeId; objDocumentDetailsModel.MapToId = nMapToId; objDocumentDetailsModel.DocumentId = nDocumentDetailsID; objDocumentDetailsModel.GUID = GUID; objDocumentDetailsModel.DocumentName = sDocName; objDocumentDetailsModel.Description = sDocDescription; lstDocumentDetailsModel.Add(objDocumentDetailsModel); using (DocumentDetailsSL objDocumentDetailsSL = new DocumentDetailsSL()) { lstDocumentDetailsModel = objDocumentDetailsSL.SaveDocumentDetails(objLoginUserDetails.CompanyDBConnectionString, lstDocumentDetailsModel, nMapToTypeCodeId, nMapToId, objLoginUserDetails.LoggedInUserID); if (lstDocumentDetailsModel.Count > 0) { statusFlag = true; } } } return(Json(new { status = statusFlag, Message = ErrorDictionary }, "text/html")); } catch (Exception exp) { throw exp; } finally { objLoginUserDetails = null; objDocumentDetailsDTO = null; lstDocumentDetailsModel = null; objDocumentDetailsModel = null; } }
public ActionResult DisplayPolicy(int acid, int PolicyDocumentID, int DocumentID, string CalledFrom, bool CalledFromHardCopy = false, int year = 0, int Period = 0, string frm = "", bool IsFromDashboard = false, int nUserInfoId = 0, string DiscType = "", int RequiredModuleID = 0) { DocumentDetailsSL objDocumentDetailsSL = null; List <DocumentDetailsDTO> objDocumentDetailsDTOList = null; string FAQMenuURL = string.Empty; string[] MenuURLParts = null; string PID = string.Empty; string ID = string.Empty; List <InsiderTradingDAL.MenuMasterDTO> menuList = new List <MenuMasterDTO>(); ViewBag.RequiredModuleID = InsiderTrading.Common.ConstEnum.Code.RequiredModuleOwnSecurity; menuList = (List <InsiderTradingDAL.MenuMasterDTO>)TempData["MenuList"]; if (CalledFrom == "ViewAgree_OS") { ViewBag.RequiredModuleID = InsiderTrading.Common.ConstEnum.Code.RequiredModuleOtherSecurity; } else { ViewBag.RequiredModuleID = InsiderTrading.Common.ConstEnum.Code.RequiredModuleOwnSecurity; } //Get the MenuURL of FAQ if (CalledFrom.ToUpper().Contains("FAQ") && IsFromDashboard) { foreach (InsiderTradingDAL.MenuMasterDTO item in menuList) { if (!String.IsNullOrEmpty(item.MenuURL) && item.MenuURL.Contains("FAQ")) { FAQMenuURL = item.MenuURL; } } if (!String.IsNullOrEmpty(FAQMenuURL)) { MenuURLParts = FAQMenuURL.Split('&'); } if (MenuURLParts.Length > 0) { for (int i = 0; i <= MenuURLParts.Length - 1; i++) { if (MenuURLParts[i].ToUpper().Contains("DOCUMENTID")) { if (MenuURLParts[i].ToUpper().Contains('=')) { if (MenuURLParts[i].ToUpper().Contains("POLICY")) { PID = MenuURLParts[i].Split('=')[1]; } else { ID = MenuURLParts[i].Split('=')[1]; } } } } PolicyDocumentID = Convert.ToInt32(PID); DocumentID = Convert.ToInt32(ID); } } Boolean isShowDownloadDocumentMsg = true; //flag used to show message to download file bool IsCalledFromReport = false; // flag used to show this page is show from Report page link bool HardCopyFileNotUploaded = false; UsersPolicyDocumentModel objUsersPolicyDocumentModel = new UsersPolicyDocumentModel(); UsersPolicyDocumentDTO objUsersPolicyDocumentDTO = new UsersPolicyDocumentDTO(); InsiderInitialDisclosureSL objInsiderInitialDisclosureSL = new InsiderInitialDisclosureSL(); LoginUserDetails objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); int PurposeCodeId = 0; if (Convert.ToString(objLoginUserDetails.DateOfBecomingInsider).Equals("") && objLoginUserDetails.UserTypeCodeId.Equals(InsiderTrading.Common.ConstEnum.Code.EmployeeType) && (PolicyDocumentID == InsiderTrading.Common.ConstEnum.Code.FAQInsiderPolicyDocumentID || PolicyDocumentID == InsiderTrading.Common.ConstEnum.Code.FAQEmployeePolicyDocumentID)) { PolicyDocumentID = InsiderTrading.Common.ConstEnum.Code.FAQInsiderPolicyDocumentID; DocumentID = InsiderTrading.Common.ConstEnum.Code.FAQDocumentID; } DocumentDetailsDTO objDocumentDetailsDTO = new DocumentDetailsDTO(); UserPolicyDocumentEventLogDTO objUserPolicyDocumentEventLogDTO = null; try { if (DiscType == "OS") { RequiredModuleID = InsiderTrading.Common.ConstEnum.Code.RequiredModuleOtherSecurity; } else { RequiredModuleID = InsiderTrading.Common.ConstEnum.Code.RequiredModuleOwnSecurity; } objDocumentDetailsSL = new DocumentDetailsSL(); objUsersPolicyDocumentModel.PolicyDocumentId = PolicyDocumentID; //in case of hard copy display this value is MapToId objUsersPolicyDocumentModel.DocumentId = DocumentID; objUsersPolicyDocumentModel.CalledFrom = CalledFrom; objUsersPolicyDocumentModel.RequiredModuleID = RequiredModuleID; if (!CalledFromHardCopy && !Common.Common.CheckUserTypeAccess(objLoginUserDetails.CompanyDBConnectionString, ConstEnum.Code.PolicyDocument, Convert.ToInt64(PolicyDocumentID), objLoginUserDetails.LoggedInUserID)) { return(RedirectToAction("Unauthorised", "Home")); } //check if to show policy document details or hard copy file and get details accourdingly if (CalledFromHardCopy) { //get hard copy document details //check if document has uploaded or not -- by checking document id - in case of not uploaded document id is "0" if (DocumentID > 0) { objDocumentDetailsDTO = objDocumentDetailsSL.GetDocumentDetails(objLoginUserDetails.CompanyDBConnectionString, DocumentID); } else { HardCopyFileNotUploaded = true; } //copy document details DTO into User policy document model objUsersPolicyDocumentModel.DocumentId = objDocumentDetailsDTO.DocumentId; objUsersPolicyDocumentModel.PolicyDocumentName = objDocumentDetailsDTO.DocumentName; objUsersPolicyDocumentModel.PolicyDocumentFileType = objDocumentDetailsDTO.FileType; objUsersPolicyDocumentModel.CalledFrom = CalledFrom; objUsersPolicyDocumentModel.DocumentViewFlag = false; objUsersPolicyDocumentModel.DocumentViewAgreeFlag = false; } else { objUsersPolicyDocumentDTO = objInsiderInitialDisclosureSL.GetDocumentDetails(objLoginUserDetails.CompanyDBConnectionString, PolicyDocumentID, DocumentID); objUsersPolicyDocumentDTO.DocumentId = DocumentID; Common.Common.CopyObjectPropertyByName(objUsersPolicyDocumentDTO, objUsersPolicyDocumentModel); } if (objUsersPolicyDocumentModel.DocumentViewAgreeFlag == true) { ViewBag.ViewAgreeFlag = true; ViewBag.ViewFlag = false; } else if (objUsersPolicyDocumentModel.DocumentViewFlag == true) { ViewBag.ViewAgreeFlag = false; ViewBag.ViewFlag = true; } ViewBag.CalledFrom = CalledFrom; ViewBag.Company = objLoginUserDetails.CompanyName; ViewBag.PDID = PolicyDocumentID; ViewBag.Year = year; ViewBag.Period = Period; ViewBag.nUserInfoId = nUserInfoId; int DocMapToTypeCodeId = 0; //get document details - document id - to set and show document to user if (DiscType == "OS") { DocMapToTypeCodeId = (CalledFromHardCopy) ? ConstEnum.Code.DisclosureTransactionforOS : ConstEnum.Code.PolicyDocument; } else { DocMapToTypeCodeId = (CalledFromHardCopy) ? ConstEnum.Code.DisclosureTransaction : ConstEnum.Code.PolicyDocument; } //get details if document is uploaded by checking document id if (DocumentID > 0) { PurposeCodeId = (CalledFrom == "DisclosureDocuments") ? ConstEnum.Code.TransactionDetailsUpload : 0; objDocumentDetailsDTOList = objDocumentDetailsSL.GetDocumentList(objLoginUserDetails.CompanyDBConnectionString, DocMapToTypeCodeId, PolicyDocumentID, PurposeCodeId); ViewBag.DocumentId = objDocumentDetailsDTOList[0].DocumentId; ViewBag.GUID = objDocumentDetailsDTOList[0].GUID; ViewBag.DocumentName = objDocumentDetailsDTOList[0].DocumentName; ViewBag.FileType = objDocumentDetailsDTOList[0].FileType; //check for following file type and set flag to false so message to download file will not be appear if (objDocumentDetailsDTOList[0].FileType == ".pdf") { isShowDownloadDocumentMsg = false; } } //set flag to show download document message ViewBag.ShowDownloadDocumentMsg = isShowDownloadDocumentMsg; //check if in session "BackURL" is set or not -- this URL is set from report contoller //if url is set then set flag true in viewbag for URL from Report page and reset backurl to empty if (objLoginUserDetails.BackURL != null && objLoginUserDetails.BackURL != "") { IsCalledFromReport = true; ViewBag.ReturnUrl = objLoginUserDetails.BackURL; objLoginUserDetails.BackURL = ""; Common.Common.SetSessionValue(ConstEnum.SessionValue.UserDetails, objLoginUserDetails); } ViewBag.IsCalledFromReport = IsCalledFromReport; ViewBag.CalledFromHardCopy = CalledFromHardCopy; ViewBag.HardCopyFileNotUploaded = HardCopyFileNotUploaded; ViewBag.frm = frm; ViewBag.UserAction = acid; // check from where document is displayed -- if policy document is displayed to user which are view only and whoes status is view only // then add event to viewed for user if (CalledFrom != null && (CalledFrom.ToLower() == "view" || CalledFrom.ToLower() == "viewagreelist")) { //check is document show is view only document if (objUsersPolicyDocumentModel.DocumentViewAgreeFlag != true && objUsersPolicyDocumentModel.DocumentViewFlag == true) { objUserPolicyDocumentEventLogDTO = new UserPolicyDocumentEventLogDTO(); objUserPolicyDocumentEventLogDTO.EventCodeId = ConstEnum.Code.PolicyDocumentViewd; objUserPolicyDocumentEventLogDTO.MapToTypeCodeId = ConstEnum.Code.PolicyDocument; objUserPolicyDocumentEventLogDTO.MapToId = objUsersPolicyDocumentModel.PolicyDocumentId; // save policy document viewed event objInsiderInitialDisclosureSL.SaveEvent(objLoginUserDetails.CompanyDBConnectionString, objUserPolicyDocumentEventLogDTO, objLoginUserDetails.LoggedInUserID); } } return(View("~/Views/InsiderInitialDisclosure/ViewDocument.cshtml", objUsersPolicyDocumentModel)); } catch (Exception ex) { string sErrMessage = Common.Common.getResource(ex.InnerException.Data[0].ToString()); ModelState.AddModelError("Error", sErrMessage); return(View("~/Views/InsiderInitialDisclosure/ViewDocument.cshtml")); } finally { objDocumentDetailsSL = null; objDocumentDetailsDTOList = null; objUsersPolicyDocumentModel = null; objUsersPolicyDocumentDTO = null; objInsiderInitialDisclosureSL = null; objLoginUserDetails = null; objDocumentDetailsDTO = null; objUserPolicyDocumentEventLogDTO = null; } }
/// <summary> /// This method is used for the insert/Update SaveDocumentDetails details. /// </summary> /// <param name="i_sConnectionString">Connection string</param> /// <param name="i_objDocumentDetailsDTO">DocumentDetails Object</param> /// <param name="nLoggedInUserId">Logged In User</param> /// <returns>Returns boolean value based on the result</returns> public List <DocumentDetailsModel> SaveDocumentDetails(string i_sConnectionString, List <DocumentDetailsModel> i_lstDocumentDetailsModel, int i_nMapToCodeTypeId, int i_nMaptoID, int i_nLoggedInUserId, string companyName = null) { List <DocumentDetailsModel> retListDocumentDetailsModel = new List <DocumentDetailsModel>(); DocumentDetailsDTO objDocumentDetailsDTO = new DocumentDetailsDTO(); string directory = ConfigurationManager.AppSettings["Document"]; string rootDirectory = directory; DirectoryInfo di; LoginUserDetails objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); try { //DocumentDetailsDAL objDocumentDetailsDAL = new DocumentDetailsDAL(); //check file is uploaded by checking document model if (i_lstDocumentDetailsModel != null && i_lstDocumentDetailsModel.Count > 0) { foreach (DocumentDetailsModel objDocumentDetailsModel in i_lstDocumentDetailsModel) { //check file is uploaded for same code type as in model if (objDocumentDetailsModel.MapToTypeCodeId == i_nMapToCodeTypeId) { //check GUID - guid null means file does not exists on system - either in temp folder or actual folder if (objDocumentDetailsModel.GUID == null) { //check if actual file is uploaded by checking model document property if (objDocumentDetailsModel.Document != null) { //get file property for uploaded file and set model property string extension = System.IO.Path.GetExtension(objDocumentDetailsModel.Document.FileName); string newFileName = Guid.NewGuid() + extension; objDocumentDetailsModel.DocumentName = objDocumentDetailsModel.Document.FileName; objDocumentDetailsModel.GUID = newFileName; objDocumentDetailsModel.DocumentPath = Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString(), newFileName); objDocumentDetailsModel.FileSize = objDocumentDetailsModel.Document.ContentLength; objDocumentDetailsModel.FileType = extension; //check directory folder and if not exists then create folder to upload file if (!Directory.Exists(Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString()))) { di = Directory.CreateDirectory(Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString())); } //save existing document with new document uploaded objDocumentDetailsModel.Document.SaveAs(objDocumentDetailsModel.DocumentPath); Common.Common.CopyObjectPropertyByName(objDocumentDetailsModel, objDocumentDetailsDTO); //save record into DB for file upload using (var objDocumentDetailsDAL = new DocumentDetailsDAL()) { objDocumentDetailsDTO = objDocumentDetailsDAL.SaveDocumentDetails(i_sConnectionString, objDocumentDetailsDTO, objLoginUserDetails.LoggedInUserID); } Common.Common.CopyObjectPropertyByName(objDocumentDetailsDTO, objDocumentDetailsModel); //add save/updated record into list retListDocumentDetailsModel.Add(objDocumentDetailsModel); } } else { // file is exists on system as GUID is exists //check document id for existing records or new records if (objDocumentDetailsModel.DocumentId != 0) { //check if actual file is uploaded by checking model document property if (objDocumentDetailsModel.Document != null) { //get file property for uploaded file and set model property string extension = Path.GetExtension(objDocumentDetailsModel.Document.FileName); //set document path property because it is remove from UI objDocumentDetailsModel.DocumentPath = Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString(), objDocumentDetailsModel.GUID); //rename existing file - break file and extention, add "_old" to file, String file_name_without_ext = Path.GetFileNameWithoutExtension(objDocumentDetailsModel.DocumentPath); String old_file_extention = Path.GetExtension(objDocumentDetailsModel.DocumentPath); string src_file_folder = Path.GetDirectoryName(objDocumentDetailsModel.DocumentPath); String des_old_file_path = Path.Combine(src_file_folder, file_name_without_ext + "_old" + old_file_extention); File.Move(objDocumentDetailsModel.DocumentPath, des_old_file_path); //replace new file extenstion for existing guid objDocumentDetailsModel.GUID = file_name_without_ext + extension; objDocumentDetailsModel.DocumentName = (objDocumentDetailsModel.MapToTypeCodeId == ConstEnum.Code.UserDocument) ? objDocumentDetailsModel.DocumentName: objDocumentDetailsModel.Document.FileName; objDocumentDetailsModel.DocumentPath = Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString(), objDocumentDetailsModel.GUID); objDocumentDetailsModel.FileSize = objDocumentDetailsModel.Document.ContentLength; objDocumentDetailsModel.FileType = extension; //save existing document with new document uploaded objDocumentDetailsModel.Document.SaveAs(objDocumentDetailsModel.DocumentPath);//copy new file with same guid and new extension //delete old file FileInfo del_file = new FileInfo(des_old_file_path); del_file.Delete(); Common.Common.CopyObjectPropertyByName(objDocumentDetailsModel, objDocumentDetailsDTO); } else { using (var objDocumentDetailsDAL = new DocumentDetailsDAL()) { objDocumentDetailsDTO = objDocumentDetailsDAL.GetDocumentDetails(i_sConnectionString, Convert.ToInt32(objDocumentDetailsModel.DocumentId)); } objDocumentDetailsDTO.DocumentName = objDocumentDetailsModel.DocumentName; objDocumentDetailsDTO.Description = objDocumentDetailsModel.Description; } //update record into DB for file upload using (var objDocumentDetailsDAL = new DocumentDetailsDAL()) { objDocumentDetailsDTO = objDocumentDetailsDAL.SaveDocumentDetails(i_sConnectionString, objDocumentDetailsDTO, objLoginUserDetails.LoggedInUserID); } Common.Common.CopyObjectPropertyByName(objDocumentDetailsDTO, objDocumentDetailsModel); //add save/updated record into list retListDocumentDetailsModel.Add(objDocumentDetailsModel); } else if (objLoginUserDetails.DocumentDetails.Count > 0)//check user session for document uploaded when MaptoID not exists { //i_nMaptoID is not exists so save document in temp folder Dictionary <string, DocumentDetailsDTO> objDetailsDTO = new Dictionary <string, DocumentDetailsDTO>(); //get document details from session foreach (KeyValuePair <string, DocumentDetailsDTO> entry in objLoginUserDetails.DocumentDetails) { objDetailsDTO.Add(entry.Key, (DocumentDetailsDTO)entry.Value); } //process details to save foreach (KeyValuePair <string, DocumentDetailsDTO> dicDocumentDetailsDTO in objDetailsDTO) { //check existing session document to update record - compare MapToTypeCodeId and GUID with already saved session records if (dicDocumentDetailsDTO.Value.MapToTypeCodeId == objDocumentDetailsModel.MapToTypeCodeId && dicDocumentDetailsDTO.Value.GUID == objDocumentDetailsModel.GUID) { dicDocumentDetailsDTO.Value.MapToId = i_nMaptoID; objDocumentDetailsDTO = dicDocumentDetailsDTO.Value; string sSourceFile = Path.Combine(directory, "temp", objDocumentDetailsDTO.GUID); string sTargetFile = string.Empty; if (companyName != null) { sTargetFile = Path.Combine(directory, companyName, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString(), objDocumentDetailsDTO.GUID); } else { sTargetFile = Path.Combine(directory, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString(), objDocumentDetailsDTO.GUID); } objDocumentDetailsDTO.DocumentPath = sTargetFile; //check temp folder exists if (Directory.Exists(Path.Combine(directory, "temp"))) { if (companyName != null) { if (!Directory.Exists(Path.Combine(directory, companyName, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString()))) { di = Directory.CreateDirectory(Path.Combine(directory, companyName, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString())); } } else { //check directory folder and if not exists then create folder to upload file if (!Directory.Exists(Path.Combine(directory, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString()))) { di = Directory.CreateDirectory(Path.Combine(directory, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString())); } } //copy file from temp folder to target folder System.IO.File.Copy(sSourceFile, sTargetFile, true); //update record into DB for file upload using (var objDocumentDetailsDAL = new DocumentDetailsDAL()) { objDocumentDetailsDTO = objDocumentDetailsDAL.SaveDocumentDetails(i_sConnectionString, objDocumentDetailsDTO, objLoginUserDetails.LoggedInUserID); } //check if document details save in DB or not - if not save in DB then delete uploaded file if (objDocumentDetailsDTO == null) { //delete uploaded file and throw exception File.Delete(sTargetFile); Exception ex = new Exception("Document Details not saved"); throw ex; } else { DocumentDetailsModel objTempDocumentDetailsModel = new DocumentDetailsModel(); Common.Common.CopyObjectPropertyByName(objDocumentDetailsDTO, objTempDocumentDetailsModel); //add save/updated record into list retListDocumentDetailsModel.Add(objTempDocumentDetailsModel); //delete temp folder file File.Delete(sSourceFile); //delete/remove from session objLoginUserDetails.DocumentDetails.Remove(dicDocumentDetailsDTO.Value.GUID); //reset session after remove/delete from session Common.Common.SetSessionValue(ConstEnum.SessionValue.UserDetails, objLoginUserDetails); //when all document are removed from session break loop if (objLoginUserDetails.DocumentDetails.Count == 0) { break; } } } else { Exception ex = new Exception("Source File does not exist"); throw ex; } } } //save into user session Common.Common.SetSessionValue(ConstEnum.SessionValue.UserDetails, objLoginUserDetails); } } } } } } catch (Exception exp) { throw exp; } return(retListDocumentDetailsModel); }
public ActionResult Save(InsiderTrading.Models.NSEGroupDocumentMappingModel objNSEGroupDocumentModel, Dictionary <int, List <DocumentDetailsModel> > dicPolicyDocumentsUploadFileList, int GroupId) { ModelState.Remove("KEY"); ModelState.Add("KEY", new ModelState()); ModelState.Clear(); var StockExchangeDateSubmission = Request.Form["SubmissionFromDate"]; LoginUserDetails objLoginUserDetails = null; DocumentDetailsSL objDocumentDetailsSL = new DocumentDetailsSL(); List <DocumentDetailsModel> UploadFileDocumentDetailsModelList = null; NSEGroupDocumentMappingDTO objNSEGroupDocDTO = new NSEGroupDocumentMappingDTO(); NSEGroupDetailsDTO objNSEGroupDetailsDTO = new NSEGroupDetailsDTO(); NSEGroupDTO objNSEGroupDTO = new NSEGroupDTO(); objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); DateTime?date = null; using (NSEGroupSL ObjNSEGroupSL = new NSEGroupSL()) { List <NSEGroupDTO> lstDate = ObjNSEGroupSL.Get_Group_Date(objLoginUserDetails.CompanyDBConnectionString, GroupId); foreach (var submitdate in lstDate) { date = submitdate.DownloadedDate; } } if (StockExchangeDateSubmission == "") { ModelState.AddModelError("DateOfSubmissionToNSE", Common.Common.getResource("nse_lbl_50535")); } else { objNSEGroupDTO.SubmissionDate = Convert.ToDateTime(StockExchangeDateSubmission); if (objNSEGroupDTO.SubmissionDate > Common.Common.GetCurrentDate(objLoginUserDetails.CompanyDBConnectionString)) { ModelState.AddModelError("DateOfSubmissionToNSE", Common.Common.getResource("nse_lbl_50534")); } if (Convert.ToDateTime(date).Date > objNSEGroupDTO.SubmissionDate) { ModelState.AddModelError("DateOfSubmissionToNSE", Common.Common.getResource("nse_lbl_50536")); } } if (ModelState.IsValid) { if (dicPolicyDocumentsUploadFileList.Count > 0) // file is uploaded and data found for file upload { UploadFileDocumentDetailsModelList = dicPolicyDocumentsUploadFileList[ConstEnum.Code.UploadNseDocument]; } List <DocumentDetailsModel> objSavedDocumentDetialsModelList = objDocumentDetailsSL.SaveDocumentDetails(objLoginUserDetails.CompanyDBConnectionString, UploadFileDocumentDetailsModelList, ConstEnum.Code.UploadNseDocument, GroupId, objLoginUserDetails.LoggedInUserID, objLoginUserDetails.CompanyName); DocumentDetailsDTO objDocumentDetailsDTO = null; objDocumentDetailsDTO = new DocumentDetailsDTO(); using (NSEGroupSL objNSEGroupSL = new NSEGroupSL()) { if (UploadFileDocumentDetailsModelList != null) { foreach (var fleGUID in UploadFileDocumentDetailsModelList) { objNSEGroupDetailsDTO.LoggedInUserId = objLoginUserDetails.LoggedInUserID; objNSEGroupDetailsDTO.GroupId = GroupId; List <NSEGroupDetailsDTO> GrouplistDetails = objNSEGroupSL.Save_NSEGroup_Details(objLoginUserDetails.CompanyDBConnectionString, objNSEGroupDetailsDTO); foreach (var nseuserId in GrouplistDetails) { objNSEGroupDocDTO.NSEGroupDetailsId = nseuserId.NSEGroupDetailsId; objNSEGroupDetailsDTO.GroupId = Convert.ToInt32(GroupId); bool bReturnDoc = objNSEGroupSL.Save_New_NSEDocument(objLoginUserDetails.CompanyDBConnectionString, objNSEGroupDocDTO, fleGUID.GUID); } } } objNSEGroupDTO.GroupId = GroupId; objNSEGroupDTO.LoggedInUserId = objLoginUserDetails.LoggedInUserID; objNSEGroupDTO.StatusCodeId = 508007; bool bReturn = objNSEGroupSL.Update_NSEGroup(objLoginUserDetails.CompanyDBConnectionString, objNSEGroupDTO); } TradingTransactionMasterDTO objTradingTransactionMasterDTO = null; using (TradingTransactionSL objTradingTransactionSL = new TradingTransactionSL()) { using (NSEGroupSL objNSEGroupSL = new NSEGroupSL()) { List <NSEGroupDetailsDTO> grpTransIdList = objNSEGroupSL.Get_Group_TransactionId(objLoginUserDetails.CompanyDBConnectionString, GroupId); foreach (var TransId in grpTransIdList) { objTradingTransactionMasterDTO = new TradingTransactionMasterDTO(); objTradingTransactionMasterDTO.TransactionMasterId = TransId.transId; objTradingTransactionMasterDTO.TransactionStatusCodeId = ConstEnum.Code.DisclosureStatusForHardCopySubmittedByCO; objTradingTransactionMasterDTO.HardCopyByCOSubmissionDate = Convert.ToDateTime(StockExchangeDateSubmission); objTradingTransactionMasterDTO = objTradingTransactionSL.GetTradingTransactionMasterCreate(objLoginUserDetails.CompanyDBConnectionString, objTradingTransactionMasterDTO, objLoginUserDetails.LoggedInUserID, out nDisclosureCompletedFlag); } } } return(RedirectToAction("Index", "NSEDownload", new { acid = ConstEnum.UserActions.NSEDownload })); } else { ViewBag.groupId = GroupId; ViewBag.DownloadDate = date; ViewBag.UserAction = Common.ConstEnum.UserActions.NSEDownload; objNSEGroupDocumentModel.NSEGroupDocumentFile = Common.Common.GenerateDocumentList(ConstEnum.Code.UploadNseDocument, 0, 0, null, 0, false, 0, ConstEnum.FileUploadControlCount.NSEUploadFile); return(View("NSEUploadDoc", objNSEGroupDocumentModel)); } }