/// <summary>Invoca al Procedimiento Movimientoado que lista Descripcion Base.</summary> /// <param name="objFiltro">Parámetros para el filtro de Listar los Descripcion Base</param> ///<remarks> ///<list type = "bullet"> ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item> ///<item><FecCrea>12/02/2018</FecCrea></item></list> ///<list type="bullet"> /// <item><FecActu>XX/XX/XXXX.</FecActu></item> /// <item><Resp>Responsable.</Resp></item> /// <item><Mot>Motivo.</Mot></item></list></remarks> public static CampaniaResponseDto ObtenerEditorCampania(int edificioId, int campaniaId) { try { CampaniaResponseDto response; List <GenericoListaDto> listaMeses; List <GenericoListaDto> listaConceptosGenerales; List <CampaniaDetalle> listaConceptosPorCampania; List <ConceptoListaDto> listaConceptos; Campania objCampania; Campania objCampaniaAnterior; List <GenericoListaDto> listaCampanias; listaConceptosGenerales = ConceptoData.ListarConceptos(edificioId); listaMeses = new List <GenericoListaDto>(); foreach (var item in Funciones.ListaMeses()) { listaMeses.Add(new GenericoListaDto { Codigo = item.Codigo, Descripcion = item.Descripcion }); } objCampania = CampaniaData.ObtenerCampania(campaniaId); listaConceptosPorCampania = new List <CampaniaDetalle>(); listaConceptos = new List <ConceptoListaDto>(); listaCampanias = new List <GenericoListaDto>(); foreach (var item in Funciones.ListarCampaniasParaFiltro()) { listaCampanias.Add(new GenericoListaDto { Codigo = item.Codigo, Descripcion = item.Descripcion }); } if (objCampania != null) { listaConceptosPorCampania = CampaniaDetalleData.ListarPorCampania(campaniaId); foreach (var item in listaConceptosGenerales) { var objConcepto = listaConceptosPorCampania.FirstOrDefault(x => x.ConceptoId.ToString() == item.Codigo); listaConceptos.Add(new ConceptoListaDto { ConceptoId = Convert.ToInt32(item.Codigo), NombreConcepto = item.Descripcion, Monto = (objConcepto != null) ? objConcepto.Monto : 0, Existe = (objConcepto != null) }); } } else { objCampaniaAnterior = CampaniaData.ObtenerUltimaCampania(edificioId); listaConceptosPorCampania = CampaniaDetalleData.ListarPorCampania(objCampaniaAnterior.CampaniaId); foreach (var item in listaConceptosGenerales) { var objConcepto = listaConceptosPorCampania.FirstOrDefault(x => x.ConceptoId.ToString() == item.Codigo); listaConceptos.Add(new ConceptoListaDto { ConceptoId = Convert.ToInt32(item.Codigo), NombreConcepto = item.Descripcion, Monto = (objConcepto != null) ? objConcepto.Monto : 0, Existe = (objConcepto != null) }); } } response = new CampaniaResponseDto { ListaMeses = listaMeses, ListaConceptos = listaConceptos, Campania = objCampania, ListaCampaniasPlantilla = listaCampanias }; return(response); } catch (Exception ex) { Log.RegistrarLog(NivelLog.Error, ex); throw; } }
/// <summary>Invoca al Procedimiento Movimientoado que lista Descripcion Base.</summary> /// <param name="objFiltro">Parámetros para el filtro de Listar los Descripcion Base</param> ///<remarks> ///<list type = "bullet"> ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item> ///<item><FecCrea>12/02/2018</FecCrea></item></list> ///<list type="bullet"> /// <item><FecActu>XX/XX/XXXX.</FecActu></item> /// <item><Resp>Responsable.</Resp></item> /// <item><Mot>Motivo.</Mot></item></list></remarks> public static void ActualizarCampania(CampaniaRequestDto request) { Campania objCampania; Campania objCampaniaAnterior; List <ConceptoListaDto> listaConceptos; int idCampania; objCampania = request.Campania; idCampania = objCampania.CampaniaId; objCampaniaAnterior = CampaniaData.ObtenerCampania(idCampania); objCampania.Codigo = objCampania.Anio + objCampania.MesId.ToString("0#"); listaConceptos = request.ListaConceptos; //VALIDACIONES if (objCampaniaAnterior.FechaInicio != objCampania.FechaInicio || objCampaniaAnterior.FechaFin != objCampania.FechaFin) { if (CampaniaData.ValidaExisteFecha(objCampania)) { BusinessException.Generar("Las fechas ingresadas ya están ocupadas por otra campaña"); } } if (objCampaniaAnterior.Codigo != objCampania.Codigo) { if (CampaniaData.ValidaExiste(objCampania)) { BusinessException.Generar("La campaña que está intentado registrar ya fué registrada anteriormente"); } } try { using (TransactionScope tran = new TransactionScope()) { CampaniaData.Actualizar(objCampania); CampaniaDetalleData.EliminarPorCampania(idCampania); foreach (var item in listaConceptos) { if (item.Existe) { var objDetalle = new CampaniaDetalle { CampaniaId = idCampania, ConceptoId = item.ConceptoId, Monto = item.Monto }; CampaniaDetalleData.Insertar(objDetalle); } } tran.Complete(); } } catch (Exception ex) { Log.RegistrarLog(NivelLog.Error, ex); throw; } }