//----------------------------- //Update SysConfParametrosServ //----------------------------- public bool Upd_SysConfParametrosServ(BE_ReqCtaCteSysConfigParamterServicio Request) { bool exito = false; DA_CtaCteSysConfigParamterServicio daCtaCteConfServ = new DA_CtaCteSysConfigParamterServicio(); try { //TransactionScope using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { // doble aperson && evalua y no sigue la siguiente si encuentra errores if (daCtaCteConfServ.Ins_SysConfParametrosServ(Request)) { exito = true; tx.Complete(); } else throw new ApplicationException("Se encontraron errores al actulizar registro.!"); } } catch (Exception) { throw; } return exito; }
//----------------------------- // SELECT SysConfParametrosServ //----------------------------- public DataTable Get_SysConfParametrosServ(BE_ReqCtaCteSysConfigParamterServicio Request) { DataTable dt = new DataTable(); try { clsConection Obj = new clsConection(); string Cadena = Obj.GetConexionString("Naylamp"); using (SqlConnection cn = new SqlConnection(Cadena)) { cn.Open(); using (SqlCommand cm = new SqlCommand()) { cm.CommandText = "[usp_Get_SysConfParametrosServ]"; cm.CommandType = CommandType.StoredProcedure; cm.Parameters.AddWithValue("cPerJurCodigo", Request.cPerJurCodigo); cm.Parameters.AddWithValue("nSisModulo", Request.nSisModulo); cm.Parameters.AddWithValue("nParCodigo_nProCodigo", Request.nParCodigo_nProCodigo); cm.Parameters.AddWithValue("cFlag", Request.cFLag); cm.Connection = cn; using (SqlDataReader dr = cm.ExecuteReader()) dt.Load(dr); } } } catch (Exception) { throw; } return dt; }
//----------------------------- //select SysConfParametrosServ //----------------------------- public DataTable Get_SysConfParametrosServ(BE_ReqCtaCteSysConfigParamterServicio Request) { //Recuperando registros DataTable dt = new DataTable(); DA_CtaCteSysConfigParamterServicio Obj = new DA_CtaCteSysConfigParamterServicio(); return Obj.Get_SysConfParametrosServ(Request); }
//------------------------------ // INSERT SysConfParametrosServ //------------------------------ public bool Ins_SysConfParametrosServ(BE_ReqCtaCteSysConfigParamterServicio Request) { bool exito; try { clsConection Obj = new clsConection(); string Cadena = Obj.GetConexionString("Naylamp"); using (SqlConnection cn = new SqlConnection(Cadena)) { cn.Open(); using (SqlCommand cm = new SqlCommand()) { cm.CommandText = "usp_Ins_SysConfParametrosServ"; cm.CommandType = CommandType.StoredProcedure; cm.Parameters.AddWithValue("cPerJurCodigo", Request.cPerJurCodigo); cm.Parameters.AddWithValue("nSisModulo", Request.nSisModulo); cm.Parameters.AddWithValue("nParCodigo_nProCodigo", Request.nParCodigo_nProCodigo); cm.Parameters.AddWithValue("nParCodigo_nSolAdmTipo", Request.nParCodigo_nSolAdmTipo); cm.Parameters.AddWithValue("nParCodigo_nCtaCteSerCodigo", Request.nParCodigo_nCtaCteSerCodigo); cm.Parameters.AddWithValue("nSysValor", Request.nSysValor); cm.Parameters.AddWithValue("nSysEstado", Request.nSysEstado); cm.Connection = cn; //ExecuteNonQuery.- devuelve filas afectadas cuando sea mayor a 0 todo fue OK. if (cm.ExecuteNonQuery() > 0) { exito = true; } else exito = false; } } } catch (Exception) { throw; } return exito; }
//----------------------------------- //Genera Cargo Solicitud Colegiado //----------------------------------- public bool Ins_GenerarCargoSolicitud(string CodEmpresa, long TipoPrograma, long TipoSolicitud, string cPerCodigo, int nPeriodo, DateTime dFechaSys, string NroSolicitud) { bool exito = false; string NroRecibo = ""; long nLinea = 0; //double nImporte = 0; //para Tipo de cambio double nTC = 0; BL_Sistema daTC = new BL_Sistema(); //para CtaCteItem BL_CtaCteItem blCCItem = new BL_CtaCteItem(); BL_CtaCteIteLine blCCItemLine = new BL_CtaCteIteLine(); BL_CtaCteIteLinRetencion blCCRetencion = new BL_CtaCteIteLinRetencion(); BL_ImpuestoServicio blImpServ = new BL_ImpuestoServicio(); //para Obtener Serv. Configurado BE_ReqCtaCteSysConfigParamterServicio ReqServConfig = new BE_ReqCtaCteSysConfigParamterServicio(); BL_CtaCteSysConfigParamterServicio daServConfig = new BL_CtaCteSysConfigParamterServicio(); //actuliza solicitud con el recibo de cargo BL_Solicitud DaSolAdm = new BL_Solicitud(); //---------------------- //CommittableTransaction //---------------------- Transaction oldAmbient = Transaction.Current; CommittableTransaction committableTransaction; committableTransaction = oldAmbient as CommittableTransaction; if (committableTransaction == null) { committableTransaction = new CommittableTransaction(); Transaction.Current = committableTransaction; } try { //using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) //{ // ReqServConfig.cPerJurCodigo = CodEmpresa; ReqServConfig.nSisModulo = 7001; //default aun falta definir interface ReqServConfig.nParCodigo_nProCodigo = TipoSolicitud; //CLng(CboPrograma.SelectedValue) ReqServConfig.cFLag = "FEC"; if (daServConfig.Get_SysConfParametrosServ(ReqServConfig).Rows.Count > 0) { DataRow row = daServConfig.Get_SysConfParametrosServ(ReqServConfig).Rows[0]; //-------------- //Tipo de cambio //-------------- if (Convert.ToInt32(row["nMonCodigo"]) == 2) //Dolar { if (daTC.Get_TipodeCambio(Convert.ToInt32(row["nMonCodigo"]), "TCD", String.Format("{0:dd/MM/yyyy}", dFechaSys), 0, 0).Rows.Count > 0) { //DataRow row = daTC.Get_TipodeCambio(ReqTC).Rows[0]; nTC = Convert.ToDouble(daTC.Get_TipodeCambio(Convert.ToInt32(row["nMonCodigo"]), "TCD", String.Format("{0:dd/MM/yyyy}", dFechaSys), 0, 0).Rows[0]["nCompra"]); } else throw new ApplicationException("No se ha registrado el Tipo de Cambio del dia: " + String.Format("{0:ddd, MMM d, yyyy}", dFechaSys)); } else nTC = 1.0; //---------- //CtaCteItem //---------- //se comente esto porque la Actualizacion 28/01/2014 no se necesita esta variable //foreach (DataRow fila in daServConfig.Get_SysConfParametrosServ(ReqServConfig).Rows) //{ // //Obteniendo el total del importe de recibo (cabezera) // nImporte = nImporte + Convert.ToDouble(fila["nSysValor"]); //} //Actualizacion 28/01/2014: //porque necesitan que cada concepto salga en diferente recibo //NroRecibo = blCCItem.Ins_CtaCteItem(CodEmpresa, cPerCodigo, nPeriodo, row["nCtaCteTipoCta"].ToString(), dFechaSys.Year, nImporte, dFechaSys, 1); //-------------- //CtaCteIteLine //-------------- //Recorro SysConfParametrosServ foreach (DataRow fila in daServConfig.Get_SysConfParametrosServ(ReqServConfig).Rows) { //aqui se cambio Actualizacion 28/01/2014: NroRecibo = blCCItem.Ins_CtaCteItem(CodEmpresa, cPerCodigo, nPeriodo, row["nCtaCteTipoCta"].ToString(), dFechaSys.Year, Convert.ToDouble(fila["nSysValor"]), dFechaSys, 1); nLinea = blCCItemLine.Ins_CtaCteIteLine(CodEmpresa, cPerCodigo, NroRecibo, Convert.ToInt32(fila["nParCodigo_nCtaCteSerCodigo"]), Convert.ToInt32(fila["nMonCodigo"]), 1, Convert.ToDouble(fila["nSysValor"]), Convert.ToDouble(fila["nSysValor"]), nTC, 1); if (nLinea != 0) { //--------------------- //CtaCteIteLinRetencion //--------------------- foreach (DataRow posicion in blImpServ.Get_ImpuestoServicio(CodEmpresa, cPerCodigo, NroRecibo, Convert.ToInt32(fila["nParCodigo_nCtaCteSerCodigo"]), 9256).Rows) //9256.- Perú { if (!blCCRetencion.Ins_CtaCteIteLinRetencion(CodEmpresa, cPerCodigo, NroRecibo, nLinea, Convert.ToInt32(posicion["nSysTasCodigo"]), Convert.ToDouble(fila["nSysValor"]), Convert.ToInt32(posicion["fSysTasValor"]), dFechaSys)) { throw new ApplicationException("Se encontraron errores en la transaccion: Ins_CtaCteIteLinRetencion.!"); } } } else throw new ApplicationException("Se encontraron errores en la transaccion: Ins_CtaCteIteLine.!"); } //------------------------------------------------------------------------------ //update AdmSolicitud (cCtaCteRecibo) - Referenciando recibo en "AdmSolicitud" ? //------------------------------------------------------------------------------ if (!DaSolAdm.Upd_AdmSol_cCtaCteRecibo(CodEmpresa, TipoPrograma, NroSolicitud, NroRecibo)) { throw new ApplicationException("Se encontraron errores en la transaccion: AdmSolicitud.! " + CodEmpresa + ' ' + TipoPrograma + ' ' + NroSolicitud + ' ' + NroRecibo); } //exito = true; //tx.Complete(); /* Perform transactional work here */ //No errors - commit transaction committableTransaction.Commit(); exito = true; } else throw new ApplicationException("Configuracion de parametros no establecida.!"); } //} catch (Exception) { committableTransaction.Rollback(); throw; } finally { committableTransaction.Dispose(); //Restore the ambient transaction Transaction.Current = oldAmbient; } return exito; }