public ActionResult GetInfoByCaseCode(string p_case_code) { try { SearchObject_BL _bl = new SearchObject_BL(); List <Billing_Detail_Info> _lst_billing_detail = new List <Billing_Detail_Info>(); SearchObject_Header_Info objSearch_HeaderInfo = _bl.GetBilling_By_Case_Code(p_case_code, SessionData.CurrentUser.Username, AppsCommon.GetCurrentLang(), ref _lst_billing_detail); ViewBag.objSearch_HeaderInfo = objSearch_HeaderInfo; if (objSearch_HeaderInfo == null) { return(Json(new { success = -1 })); } // chỉ lấy những thằng nào mà > đã nộp đơn lên cục //if (objSearch_HeaderInfo != null && objSearch_HeaderInfo.Status < (decimal)Common.CommonData.CommonEnums.App_Status.DaNopDon) //{ // return Json(new { success = -2 }); //} Billing_Detail_Info _ChiPhiKhac = new Billing_Detail_Info(); _ChiPhiKhac.Nation_Fee = 0; _ChiPhiKhac.Represent_Fee = 0; _ChiPhiKhac.Service_Fee = 0; _ChiPhiKhac.Biling_Detail_Name = "Chi phí khác"; _ChiPhiKhac.Biling_Detail_Name_EN = "Others"; _ChiPhiKhac.Type = Convert.ToDecimal(Common.CommonData.CommonEnums.Billing_Detail_Type.Others); _lst_billing_detail.Add(_ChiPhiKhac); foreach (Billing_Detail_Info item in _lst_billing_detail) { item.Total_Fee = item.Nation_Fee + item.Represent_Fee + item.Service_Fee; } SessionData.SetDataSession(p_case_code, _lst_billing_detail); SessionData.SetDataSession(p_case_code + "_CURRENCY_TYPE", objSearch_HeaderInfo.Currency_Type); ViewBag.List_Billing = _lst_billing_detail; ViewBag.Operator_Type = Convert.ToDecimal(Common.CommonData.CommonEnums.Operator_Type.Insert); ViewBag.App_Case_Code = p_case_code; ViewBag.Currency_Type = objSearch_HeaderInfo.Currency_Type; ViewBag.ShowPopUp = 0; var Partial_AppInfo = AppsCommon.RenderRazorViewToString(this.ControllerContext, "~/Areas/Manager/Views/Billing_Search/_Partial_SearchInfo.cshtml"); var PartialDetail_Insert_Billing = AppsCommon.RenderRazorViewToString(this.ControllerContext, "~/Areas/Manager/Views/Billing_Search/_PartialDetail_Insert_Billing.cshtml"); var json = Json(new { success = 1, Partial_AppInfo, PartialDetail_Insert_Billing }); return(json); } catch (Exception ex) { Logger.LogException(ex); return(PartialView("~/Areas/TradeMark/Views/Shared/_PartialThongTinChuDon.cshtml")); } }
public ActionResult DoSearchResult(SearchObject_Question_Info p_SearchObject_Header_Info, Billing_Header_Info p_Billing_Header_Info) { try { List <Billing_Detail_Info> _lst_billing_detail = AppsCommon.Get_LstFee_Detail(p_SearchObject_Header_Info.CASE_CODE); decimal _ck = 0; decimal _billing_id = 0; using (var scope = new TransactionScope()) { p_SearchObject_Header_Info.LANGUAGE_CODE = AppsCommon.GetCurrentLang(); p_SearchObject_Header_Info.MODIFIED_BY = SessionData.CurrentUser.Username; p_SearchObject_Header_Info.MODIFIED_DATE = DateTime.Now; p_SearchObject_Header_Info.FILE_URL = AppLoadHelpers.PushFileToServer(p_SearchObject_Header_Info.FileBase_File_Url, AppUpload.Search); p_SearchObject_Header_Info.FILE_URL02 = AppLoadHelpers.PushFileToServer(p_SearchObject_Header_Info.FileBase_File_Url02, AppUpload.Search); SearchObject_BL _con = new SearchObject_BL(); _ck = _con.SEARCH_RESULT_SEARCH(p_SearchObject_Header_Info); if (_ck < 0) { goto Commit_Transaction; } // insert billing // lấy thông tin cũ if (_lst_billing_detail.Count == 0) { goto Commit_Transaction; } SearchObject_BL _SearchObject_BL = new SearchObject_BL(); List <Billing_Detail_Info> _lst_detail = new List <Billing_Detail_Info>(); SearchObject_Header_Info objSearch_HeaderInfo = _SearchObject_BL.GetBilling_By_Case_Code(p_SearchObject_Header_Info.CASE_CODE, SessionData.CurrentUser.Username, AppsCommon.GetCurrentLang(), ref _lst_detail); Billing_BL _obj_bl = new Billing_BL(); p_Billing_Header_Info.Created_By = SessionData.CurrentUser.Username; p_Billing_Header_Info.Created_Date = DateTime.Now; p_Billing_Header_Info.Language_Code = AppsCommon.GetCurrentLang(); p_Billing_Header_Info.Status = (decimal)CommonEnums.Billing_Status.New_Wait_Approve; p_Billing_Header_Info.Billing_Type = (decimal)CommonEnums.Billing_Type.Search; p_Billing_Header_Info.Notes = "Billing for case code " + p_SearchObject_Header_Info.CASE_CODE; // + " - " + p_SearchObject_Header_Info.NOTE; p_Billing_Header_Info.Case_Code = _obj_bl.Billing_GenCaseCode(); p_Billing_Header_Info.App_Case_Code = p_SearchObject_Header_Info.CASE_CODE; p_Billing_Header_Info.Billing_Date = DateTime.Now; p_Billing_Header_Info.Deadline = DateTime.Now.AddDays(30); p_Billing_Header_Info.Request_By = SessionData.CurrentUser.Username; p_Billing_Header_Info.Approve_By = ""; decimal _Total_Amount_Represent = 0; decimal _Total_Amount_Temp = 0; decimal _Percent_discount = 0; List <AllCodeInfo> _lstDiscount = WebApps.CommonFunction.AppsCommon.AllCode_GetBy_CdTypeCdName("DISCOUNT", "SERVICE"); if (_lstDiscount.Count > 0) { _Percent_discount = Convert.ToDecimal(_lstDiscount[0].CdVal); } foreach (Billing_Detail_Info item in _lst_billing_detail) { _Total_Amount_Represent = _Total_Amount_Represent + item.Represent_Fee; _Total_Amount_Temp = _Total_Amount_Temp + item.Total_Fee; } decimal _discount = Math.Round(_Total_Amount_Represent * _Percent_discount / 100); p_Billing_Header_Info.Total_Pre_Tex = _Total_Amount_Temp - _discount; p_Billing_Header_Info.Tex_Fee = Math.Round(p_Billing_Header_Info.Total_Pre_Tex / 100 * Common.Common.Tax); p_Billing_Header_Info.Total_Amount = p_Billing_Header_Info.Total_Pre_Tex + p_Billing_Header_Info.Tex_Fee; p_Billing_Header_Info.Currency = objSearch_HeaderInfo.Currency_Type; p_Billing_Header_Info.Currency_Rate = AppsCommon.Get_Currentcy_VCB(); p_Billing_Header_Info.Insert_Type = (decimal)Common.CommonData.CommonEnums.Billing_Insert_Type.Search; p_Billing_Header_Info.Discount_Fee_Service = _discount; p_Billing_Header_Info.Percent_Discount = _Percent_discount; p_Billing_Header_Info.Currency_Rate = AppsCommon.Get_Currentcy_VCB(); _billing_id = _obj_bl.Billing_Insert(p_Billing_Header_Info); if (_billing_id > 0 && _lst_billing_detail.Count > 0) { _ck = _obj_bl.Billing_Detail_InsertBatch(_lst_billing_detail, _billing_id); } if (_ck > 0 && p_Billing_Header_Info.Insert_Type == (decimal)Common.CommonData.CommonEnums.Billing_Insert_Type.Search) { //string _fileExport = AppsCommon.Export_Billing(p_Billing_Header_Info.Case_Code); string _mapPath_Report = Server.MapPath("~/Report/"); string _mapPath = Server.MapPath("~/"); string _fileExport = AppsCommon.Export_Billing_Crytal(p_Billing_Header_Info.Case_Code, _mapPath_Report, _mapPath, objSearch_HeaderInfo.CREATED_BY, p_Billing_Header_Info, _lst_billing_detail); if (_fileExport == "") { goto Commit_Transaction; } SearchObject_BL _bl = new SearchObject_BL(); _ck = _bl.Update_Url_Billing(p_Billing_Header_Info.App_Case_Code, _billing_id, _fileExport); // insert vào docking AppsCommon.Insert_Docketing(p_Billing_Header_Info.Case_Code, "Report Billing", _fileExport, true); } //end Commit_Transaction: if (_ck < 0) { Transaction.Current.Rollback(); } else { SessionData.RemoveDataSession(p_SearchObject_Header_Info.CASE_CODE); scope.Complete(); } } return(Json(new { success = _ck })); } catch (Exception ex) { Logger.LogException(ex); return(Json(new { success = "-1" })); } }