/// <summary> /// EGRESOS VARIOS INTRANET /// </summary> public int EgresosVarios_RegistrarInt(int idEmpresa, int codigoUsuario, gsEgresosVariosInt_BuscarCabeceraResult objEVCabecera, List <gsEgresosVariosDInt_BuscarDetalleResult> lstEVDetalles, DateTime fechaInicio) { //using (dmIntranetDataContext dci = new dmIntranetDataContext(ConfigurationManager.ConnectionStrings["genesys"].ConnectionString)) using (dmIntranetDataContext dci = new dmIntranetDataContext(GS.configuration.Init.GetValue(Constant.sistema, Constant.key, "genesys"))) { decimal?id = null; //dmGenesysDataContext dcg = new dmGenesysDataContext(string.Format(ConfigurationManager.ConnectionStrings[dci.Empresa.SingleOrDefault(x => x.idEmpresa == idEmpresa).baseDatos].ConnectionString, "usrGEN" + (10000 + codigoUsuario).ToString().Substring(1, 4))); dmGenesysDataContext dcg = new dmGenesysDataContext(string.Format(GS.configuration.Init.GetValue(Constant.sistema, Constant.key, dci.Empresa.SingleOrDefault(x => x.idEmpresa == idEmpresa).baseDatos), "usrGEN" + (10000 + codigoUsuario).ToString().Substring(1, 4))); try { using (TransactionScope scope = new TransactionScope()) { if (objEVCabecera.Id > 0) { id = objEVCabecera.Id; } dcg.gsRegistrarEgresosVarios(ref id, objEVCabecera.ID_Agenda, null, objEVCabecera.Concepto, objEVCabecera.ID_Moneda, objEVCabecera.Importe, dci.Empresa.Single(x => x.idEmpresa == idEmpresa).idDocCajaChica, objEVCabecera.ID_CCosto, objEVCabecera.ID_UnidadGestion, objEVCabecera.ID_UnidadProyecto, 479, objEVCabecera.Fecha, objEVCabecera.Vcmto, 0, objEVCabecera.ID_NaturalezaGastoIngreso, null); dcg.gsEgresosVariosInicioInt_Registrar(int.Parse(id.ToString()), fechaInicio); foreach (gsEgresosVariosDInt_BuscarDetalleResult objEVDetalle in lstEVDetalles) { decimal?idAmarre = null; if (objEVDetalle.ID_Amarre > 0) { idAmarre = objEVDetalle.ID_Amarre; } if (objEVDetalle.Estado == 1) { dcg.gsRegistrarEgresosVariosDetalle_Int(ref idAmarre, id, objEVDetalle.ID_Agenda, null, objEVDetalle.ID_Item, null, objEVCabecera.ID_CCosto, objEVCabecera.ID_UnidadGestion, objEVCabecera.ID_UnidadProyecto, objEVDetalle.Importe, objEVDetalle.ID_Documento, objEVDetalle.Serie, objEVDetalle.Numero, objEVDetalle.FechaEmision, objEVDetalle.Observaciones, objEVDetalle.ImporteBaseIGV, objEVDetalle.ImporteIGV, objEVDetalle.ImporteInafecto); } else { dcg.gsEliminarEgresosVariosDetalle_Int(objEVDetalle.ID_Amarre); } } dcg.SubmitChanges(); scope.Complete(); return(int.Parse(id.ToString())); } } catch (Exception ex) { dci.Excepcion_Registrar(ex.Message, ex.TargetSite.Name); dci.SubmitChanges(); throw new ArgumentException("No se pudo registrar los Egresos Varios en Genesys."); } } }
public int RegistrarEgresosVarios(int idEmpresa, int codigoUsuario, gsEgresosVariosInt_BuscarCabeceraResult objEVCabecera, List <gsEgresosVariosDInt_BuscarDetalleResult> lstEVDetalles, DateTime fechaInicio) { EgresosBL objEgresosBL = new EgresosBL();; try { objEVCabecera.Importe = lstEVDetalles.ToList().FindAll(x => x.Estado == 1).AsEnumerable().Sum(x => x.Importe); return(objEgresosBL.EgresosVarios_RegistrarInt(idEmpresa, codigoUsuario, objEVCabecera, lstEVDetalles, fechaInicio)); } catch (Exception ex) { throw ex; } }