public ActionResult Edit_C01(ApplicationHeaderInfo pInfo, App_Detail_C01_Info pDetail, List <AppDocumentInfo> pAppDocumentInfo, List <AppFeeFixInfo> pFeeFixInfo, List <AppDocumentOthersInfo> pAppDocOtherInfo, List <AppDocumentOthersInfo> pLstImagePublic) { try { Application_Header_BL objBL = new Application_Header_BL(); AppFeeFixBL objFeeFixBL = new AppFeeFixBL(); App_Detail_C01_BL objDetail = new App_Detail_C01_BL(); AppDocumentBL objDoc = new AppDocumentBL(); if (pInfo == null || pDetail == null) { return(Json(new { status = ErrorCode.Error })); } string language = AppsCommon.GetCurrentLang(); var CreatedBy = SessionData.CurrentUser.Username; var CreatedDate = SessionData.CurrentUser.CurrentDate; decimal pReturn = ErrorCode.Success; bool _IsOk = false; using (var scope = new TransactionScope()) { // pInfo.Languague_Code = language; pInfo.Modify_By = CreatedBy; pInfo.Modify_Date = CreatedDate; pInfo.Send_Date = DateTime.Now; pInfo.DDSHCN = ""; pInfo.MADDSHCN = ""; //TRA RA ID CUA BANG KHI INSERT pReturn = objBL.AppHeaderUpdate(pInfo); if (pReturn < 0) { goto Commit_Transaction; } // detail if (pReturn >= 0) { pDetail.Appcode = pInfo.Appcode; pDetail.Language_Code = language; pDetail.App_Header_Id = pInfo.Id; pDetail.Case_Code = pInfo.Case_Code; pReturn = objDetail.Update(pDetail); if (pReturn <= 0) { goto Commit_Transaction; } } #region hình công bố if (pReturn >= 0 && pLstImagePublic != null) { if (pLstImagePublic.Count > 0) { AppImageBL _AppImageBL = new AppImageBL(); List <AppDocumentOthersInfo> Lst_ImagePublic_Old = _AppImageBL.GetByAppHeader(pInfo.Id, language); Dictionary <decimal, AppDocumentOthersInfo> _dic_image = new Dictionary <decimal, AppDocumentOthersInfo>(); foreach (AppDocumentOthersInfo item in Lst_ImagePublic_Old) { _dic_image[item.Id] = item; } // xóa đi trước insert lại sau _AppImageBL.AppImageDeletedByApp(pInfo.Id, language); int check = 0; foreach (AppDocumentOthersInfo info in pLstImagePublic) { if (SessionData.CurrentUser.chashFile.ContainsKey(info.keyFileUpload)) { string _url = (string)SessionData.CurrentUser.chashFile[info.keyFileUpload]; info.Filename = _url; check = 1; } else if (_dic_image.ContainsKey(info.Id)) { info.Filename = _dic_image[info.Id].Filename; check = 1; } info.App_Header_Id = pInfo.Id; info.Language_Code = language; } if (check == 1) { pReturn = _AppImageBL.AppImageInsertBatch(pLstImagePublic); } } } #endregion #region Phí cố định // xóa đi AppFeeFixBL _AppFeeFixBL = new AppFeeFixBL(); _AppFeeFixBL.AppFeeFixDelete(pDetail.Case_Code, language); // insert lại fee List <AppFeeFixInfo> _lstFeeFix = Call_Fee.CallFee_C01(pDetail, pAppDocumentInfo, pLstImagePublic); if (_lstFeeFix.Count > 0) { pReturn = _AppFeeFixBL.AppFeeFixInsertBath(_lstFeeFix, pInfo.Case_Code); if (pReturn < 0) { goto Commit_Transaction; } } #endregion //tai lieu khac if (pReturn >= 0 && pAppDocOtherInfo != null) { List <AppDocumentOthersInfo> Lst_Doc_Others_Old = objDoc.DocumentOthers_GetByAppHeader(pInfo.Id, language); Dictionary <decimal, AppDocumentOthersInfo> _dic_doc_others = new Dictionary <decimal, AppDocumentOthersInfo>(); foreach (AppDocumentOthersInfo item in Lst_Doc_Others_Old) { _dic_doc_others[item.Id] = item; } // xóa đi trước insert lại sau objDoc.AppDocumentOtherDeletedByApp(pInfo.Id, language); if (pAppDocOtherInfo.Count > 0) { int check = 0; foreach (var info in pAppDocOtherInfo) { if (SessionData.CurrentUser.chashFile.ContainsKey(info.keyFileUpload)) { string _url = (string)SessionData.CurrentUser.chashFile[info.keyFileUpload]; info.Filename = _url; check = 1; } else if (_dic_doc_others.ContainsKey(info.Id)) { info.Filename = _dic_doc_others[info.Id].Filename; check = 1; } info.App_Header_Id = pInfo.Id; info.Language_Code = language; } if (check == 1) { pReturn = objDoc.AppDocumentOtherInsertBatch(pAppDocOtherInfo); } } } #region Tai lieu dinh kem if (pReturn >= 0 && pAppDocumentInfo != null) { if (pAppDocumentInfo.Count > 0) { // Get ra để map sau đó xóa đi để insert vào sau AppDocumentBL _AppDocumentBL = new AppDocumentBL(); List <AppDocumentInfo> Lst_AppDoc = _AppDocumentBL.AppDocument_Getby_AppHeader(pDetail.App_Header_Id, language); Dictionary <string, AppDocumentInfo> dic_appDoc = new Dictionary <string, AppDocumentInfo>(); foreach (AppDocumentInfo item in Lst_AppDoc) { dic_appDoc[item.Document_Id] = item; } // xóa đi trước _AppDocumentBL.AppDocumentDelByApp(pDetail.App_Header_Id, language); foreach (var info in pAppDocumentInfo) { if (SessionData.CurrentUser.chashFile.ContainsKey(info.keyFileUpload)) { string _url = (string)SessionData.CurrentUser.chashFile[info.keyFileUpload]; string[] _arr = _url.Split('/'); string _filename = WebApps.Resources.Resource.FileDinhKem; if (_arr.Length > 0) { _filename = _arr[_arr.Length - 1]; } info.Filename = _filename; info.Url_Hardcopy = _url; info.Status = 0; } else { if (dic_appDoc.ContainsKey(info.Document_Id)) { info.Filename = dic_appDoc[info.Document_Id].Filename; info.Url_Hardcopy = dic_appDoc[info.Document_Id].Url_Hardcopy; info.Status = dic_appDoc[info.Document_Id].Status; } } info.App_Header_Id = pInfo.Id; info.Document_Filing_Date = CommonFuc.CurrentDate(); info.Language_Code = language; } pReturn = _AppDocumentBL.AppDocumentInsertBath(pAppDocumentInfo, pInfo.Id); } } #endregion //end Commit_Transaction: if (pReturn < 0) { Transaction.Current.Rollback(); return(Json(new { status = pReturn })); } else { scope.Complete(); _IsOk = true; } } // tự động update todo if (pInfo.UpdateToDo == 1 && _IsOk == true) { if (pInfo.Status == (int)CommonEnums.App_Status.ChoKHConfirm) { Application_Header_BL _obj_bl = new Application_Header_BL(); decimal _status = (decimal)CommonEnums.App_Status.KhacHangDaConfirm; string _note = "Xác nhận nộp đơn"; if (AppsCommon.GetCurrentLang() != "VI_VN") { _note = "confirmation for filing"; } int _ck = _obj_bl.AppHeader_Update_Status(pInfo.Case_Code, _status, _note, SessionData.CurrentUser.Username, DateTime.Now, AppsCommon.GetCurrentLang()); } } return(Json(new { status = pInfo.Id })); } catch (Exception ex) { Logger.LogException(ex); return(Json(new { status = ErrorCode.Error })); } }
public ActionResult Edit_PLB_02_CGD(ApplicationHeaderInfo pInfo, App_Detail_PLB02_CGD_Info pDetail, List <AppDocumentInfo> pAppDocumentInfo, List <AppFeeFixInfo> pFeeFixInfo) { try { Application_Header_BL objBL = new Application_Header_BL(); AppFeeFixBL objFeeFixBL = new AppFeeFixBL(); App_Detail_Plb02_CGD_BL objDetail = new App_Detail_Plb02_CGD_BL(); AppDocumentBL objDoc = new AppDocumentBL(); if (pInfo == null || pDetail == null) { return(Json(new { status = ErrorCode.Error })); } string language = AppsCommon.GetCurrentLang(); var CreatedBy = SessionData.CurrentUser.Username; var CreatedDate = SessionData.CurrentUser.CurrentDate; decimal pReturn = ErrorCode.Success; bool _IsOk = false; using (var scope = new TransactionScope()) { // pInfo.Languague_Code = language; pInfo.Modify_By = CreatedBy; pInfo.Modify_Date = CreatedDate; pInfo.Send_Date = DateTime.Now; //TRA RA ID CUA BANG KHI INSERT int _re = objBL.AppHeaderUpdate(pInfo); // detail if (_re >= 0) { pDetail.Appcode = pInfo.Appcode; pDetail.Language_Code = language; pDetail.App_Header_Id = pInfo.Id; pDetail.Case_Code = pInfo.Case_Code; pReturn = objDetail.Update(pDetail); if (pReturn <= 0) { goto Commit_Transaction; } } else { goto Commit_Transaction; } #region Phí cố định #region Phí thẩm định yêu cầu sửa đổi đơn List <AppFeeFixInfo> _lstFeeFix = new List <AppFeeFixInfo>(); AppFeeFixInfo _AppFeeFixInfo1 = new AppFeeFixInfo(); _AppFeeFixInfo1.Fee_Id = 1; _AppFeeFixInfo1.Isuse = 1; //_AppFeeFixInfo1.App_Header_Id = pInfo.Id; _AppFeeFixInfo1.Number_Of_Patent = pDetail.Transfer_Appno.Split(',').Length; string _keyFee = pDetail.Appcode + "_" + _AppFeeFixInfo1.Fee_Id.ToString(); if (MemoryData.c_dic_FeeByApp_Fix.ContainsKey(_keyFee)) { _AppFeeFixInfo1.Amount = MemoryData.c_dic_FeeByApp_Fix[_keyFee].Amount * _AppFeeFixInfo1.Number_Of_Patent; } else { _AppFeeFixInfo1.Amount = 160000 * _AppFeeFixInfo1.Number_Of_Patent; } _lstFeeFix.Add(_AppFeeFixInfo1); #endregion #region Phí công bố thông tin đơn sửa đổi AppFeeFixInfo _AppFeeFixInfo2 = new AppFeeFixInfo(); _AppFeeFixInfo2.Fee_Id = 2; _AppFeeFixInfo2.Isuse = 1; //_AppFeeFixInfo2.App_Header_Id = pInfo.Id; _AppFeeFixInfo2.Number_Of_Patent = pDetail.Transfer_Appno.Split(',').Length; _keyFee = pDetail.Appcode + "_" + _AppFeeFixInfo2.Fee_Id.ToString(); if (MemoryData.c_dic_FeeByApp_Fix.ContainsKey(_keyFee)) { _AppFeeFixInfo2.Amount = MemoryData.c_dic_FeeByApp_Fix[_keyFee].Amount * _AppFeeFixInfo2.Number_Of_Patent; } else { _AppFeeFixInfo2.Amount = 160000 * _AppFeeFixInfo2.Number_Of_Patent; } _lstFeeFix.Add(_AppFeeFixInfo2); #endregion // xóa đi AppFeeFixBL _AppFeeFixBL = new AppFeeFixBL(); _AppFeeFixBL.AppFeeFixDelete(pDetail.Case_Code, language); // insert lại fee pReturn = _AppFeeFixBL.AppFeeFixInsertBath(_lstFeeFix, pInfo.Case_Code); #endregion #region Tai lieu dinh kem if (pReturn >= 0 && pAppDocumentInfo != null) { if (pAppDocumentInfo.Count > 0) { // Get ra để map sau đó xóa đi để insert vào sau AppDocumentBL _AppDocumentBL = new AppDocumentBL(); List <AppDocumentInfo> Lst_AppDoc = _AppDocumentBL.AppDocument_Getby_AppHeader(pDetail.App_Header_Id, language); Dictionary <string, AppDocumentInfo> dic_appDoc = new Dictionary <string, AppDocumentInfo>(); foreach (AppDocumentInfo item in Lst_AppDoc) { dic_appDoc[item.Document_Id] = item; } // xóa đi trước _AppDocumentBL.AppDocumentDelByApp(pDetail.App_Header_Id, language); foreach (var info in pAppDocumentInfo) { if (SessionData.CurrentUser.chashFile.ContainsKey(info.keyFileUpload)) { string _url = (string)SessionData.CurrentUser.chashFile[info.keyFileUpload]; string[] _arr = _url.Split('/'); string _filename = WebApps.Resources.Resource.FileDinhKem; if (_arr.Length > 0) { _filename = _arr[_arr.Length - 1]; } info.Filename = _filename; info.Url_Hardcopy = _url; info.Status = 0; } else { if (dic_appDoc.ContainsKey(info.Document_Id)) { info.Filename = dic_appDoc[info.Document_Id].Filename; info.Url_Hardcopy = dic_appDoc[info.Document_Id].Url_Hardcopy; info.Status = dic_appDoc[info.Document_Id].Status; } } info.App_Header_Id = pInfo.Id; info.Document_Filing_Date = CommonFuc.CurrentDate(); info.Language_Code = language; } pReturn = objDoc.AppDocumentInsertBath(pAppDocumentInfo, pInfo.Id); } } #endregion //end Commit_Transaction: if (pReturn < 0) { Transaction.Current.Rollback(); } else { scope.Complete(); _IsOk = true; } } // tự động update todo if (pInfo.UpdateToDo == 1 && _IsOk == true) { if (pInfo.Status == (int)CommonEnums.App_Status.ChoKHConfirm) { Application_Header_BL _obj_bl = new Application_Header_BL(); decimal _status = (decimal)CommonEnums.App_Status.KhacHangDaConfirm; string _note = "Xác nhận nộp đơn"; if (AppsCommon.GetCurrentLang() != "VI_VN") { _note = "confirmation for filing"; } int _ck = _obj_bl.AppHeader_Update_Status(pInfo.Case_Code, _status, _note, SessionData.CurrentUser.Username, DateTime.Now, AppsCommon.GetCurrentLang()); } } return(Json(new { status = pInfo.Id })); } catch (Exception ex) { Logger.LogException(ex); return(Json(new { status = ErrorCode.Error })); } }