/// <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; } }
/// <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 InsertarCampania(CampaniaRequestDto request) { Campania objCampania; List <ConceptoListaDto> listaConceptos; List <ConceptoListaDto> listaConceptosSeleccionados; int idCampania; int estadoActivo; decimal totalCampania; totalCampania = 0; estadoActivo = 1; objCampania = request.Campania; listaConceptos = request.ListaConceptos; objCampania.Codigo = objCampania.Anio + objCampania.MesId.ToString("0#"); objCampania.EstadoId = estadoActivo; listaConceptosSeleccionados = new List <ConceptoListaDto>(); //INICIO VALIDACIONES if (CampaniaData.ValidaExisteFecha(objCampania)) { BusinessException.Generar("Las fechas ingresadas ya están ocupadas por otra campaña"); } if (CampaniaData.ValidaExiste(objCampania)) { BusinessException.Generar("La campaña que está intentado registrar ya fué registrada anteriormente"); } foreach (var item in listaConceptos) { if (item.Existe) { listaConceptosSeleccionados.Add(item); } } if (listaConceptos.Count == 0) { BusinessException.Generar("Debe seleccionar por lo menos un gasto"); } foreach (var item in listaConceptosSeleccionados) { if (item.Monto <= 0) { BusinessException.Generar("Los conceptos seleccionados deben tener un monto mayor a 0"); } totalCampania += item.Monto; } //FIN VALIDACIONES objCampania.Total = totalCampania; try { using (TransactionScope tran = new TransactionScope()) { idCampania = CampaniaData.Insertar(objCampania); foreach (var item in listaConceptosSeleccionados) { 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; } }