Example #1
0
        /// <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 ListarCampanias(CampaniaRequestDto request)
        {
            try
            {
                CampaniaResponseDto     response;
                List <CampaniaListaDto> listaCampanias;
                CampaniaFiltroDto       objFiltro;

                objFiltro = request.Filtro;

                listaCampanias = CampaniaData.ListarCampanias(objFiltro);

                response = new CampaniaResponseDto
                {
                    ListaCampanias = listaCampanias
                };

                return(response);
            }
            catch (Exception ex)
            {
                Log.RegistrarLog(NivelLog.Error, ex);
                throw;
            }
        }
        public async Task <ActionResult> Agregar(CampaniaEditorViewModel model)
        {
            try
            {
                var sesionUsuario = SesionModel.DatosSesion.Usuario;

                var request = new CampaniaRequestDto
                {
                    Campania       = model.Campania,
                    ListaConceptos = model.ListaConceptos
                };

                request.Campania.EdificioId = (int)sesionUsuario.CodigoEdificio;

                //Invocamos al servicio
                await _ServicioMiDepa.InsertarCampaniaAsync(request);

                //Refrescamos la pagina con los registros actuales
                return(RedirectToAction("Refrescar"));
            }
            catch (FaultException <ServiceErrorResponseType> ex)
            {
                //Como existe excepción de lógica de negocio, lo enviamos al Vehiculo para ser procesado por este
                return(Json(HelperJson.ConstruirJson(EnumTipoNotificacion.Advertencia, ex.Detail.Message), JsonRequestBehavior.AllowGet));
            }
        }
 /// <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 void ActualizarCampania(CampaniaRequestDto request)
 {
     try
     {
         CampaniaLogic.ActualizarCampania(request);
     }
     catch (Exception)
     {
         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 void InsertarCampania(CampaniaRequestDto request)
 {
     try
     {
         CampaniaLogic.InsertarCampania(request);
     }
     catch (Exception)
     {
         throw;
     }
 }
        ///// <summary>Método que devuelve el response para la pantalla index de ruta</summary>
        ///// <param name="request">Objeto request</param>
        ///// <returns>Response de index para ruta</returns>
        ///// <remarks><list type="bullet">
        ///// <item><CreadoPor>Wilmer Gómez Prado</CreadoPor></item>
        ///// <item><FecCrea>02/02/2018</FecCrea></item>
        ///// </list>
        ///// <list type="bullet" >
        ///// <item><FecActu>XXXX</FecActu></item>
        ///// <item><Resp>XXXX</Resp></item>
        ///// <item><Mot>XXXX</Mot></item></list></remarks>
        //public int GrabarOpcionesPorPerfil(PerfilRequestDto request)
        //{
        //    try
        //    {
        //        return PerfilLogic.GrabarOpcionesPorPerfil(request);
        //    }
        //    catch (Exception)
        //    {
        //        throw;
        //    }
        //}

        #endregion

        #region CAMPANIA

        /// <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 CampaniaResponseDto ListarCampanias(CampaniaRequestDto request)
        {
            try
            {
                return(CampaniaLogic.ListarCampanias(request));
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>Método que devuelve el modelo para la vista de la grilla</summary>
        /// <param name="model">Modelo del request</param>
        /// <returns>Modelo para la vista de al grilla</returns>
        /// <remarks><list type="bullet">
        /// <item><CreadoPor>Bryan Luna Vásquez</CreadoPor></item>
        /// <item><FecCrea>05/02/2018</FecCrea></item>
        /// </list>
        /// <list type="bullet" >
        /// <item><FecActu>XXXX</FecActu></item>
        /// <item><Resp>XXXX</Resp></item>
        /// <item><Mot>XXXX</Mot></item></list></remarks>
        private async Task <CampaniaGridViewModel> ObtenerModelGrid(CampaniaGridViewModel model)
        {
            model.Filtro = model.Filtro ?? new CampaniaFiltroDto();
            var sesionUsuario = SesionModel.DatosSesion.Usuario;

            model.Filtro.EdificioId = (int)sesionUsuario.CodigoEdificio;
            //Construimos el request
            var request = new CampaniaRequestDto
            {
                Filtro = model.Filtro
            };

            //Invocamos al servicio
            var response = await _ServicioMiDepa.ListarCampaniasAsync(request);

            //Construimos el modelo
            model = new CampaniaGridViewModel(response)
            {
                Filtro = request.Filtro
            };

            //Retornamos el modelo
            return(model);
        }
Example #7
0
        /// <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;
            }
        }
Example #8
0
        /// <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;
            }
        }