예제 #1
0
        public ActionResult InformarPagoImpuesto()
        {
            if (!User.Identity.IsAuthenticated)
            {
                ViewBag.ErrorInfo = new ErrorInfo()
                {
                    error   = true,
                    message = "Error: por favor haga un login a esta aplicación, y luego regrese a ejecutar esta función."
                };

                return(View());
            }

            var context = new dbContab_Contab_Entities();

            int    ciaContabSeleccionada;
            string nombreCiaContabSeleccionada;

            try
            {
                var cia = context.tCiaSeleccionadas.Where(s => s.UsuarioLS == User.Identity.Name).
                          Select(c => new { ciaContabSeleccionada = c.Compania.Numero, ciaContabSeleccionadaNombre = c.Compania.Nombre }).
                          FirstOrDefault();

                if (cia == null)
                {
                    ViewBag.ErrorInfo = new ErrorInfo()
                    {
                        error   = true,
                        message = "Error: aparentemente, no se ha seleccionado una <em>Cia Contab</em>.<br />" +
                                  "Por favor seleccione una <em>Cia Contab</em> y luego regrese y continúe con la ejecución de esta función.<br />" +
                                  "Para seleccionar una <em>compañía Contab</em>, desde la página principal abra el menú <em>Generales</em> y " +
                                  "luego la opción <em>Seleccionar compañía</em>."
                    };

                    return(View());
                }

                nombreCiaContabSeleccionada = cia.ciaContabSeleccionadaNombre;
                ciaContabSeleccionada       = cia.ciaContabSeleccionada;
            }
            catch (Exception ex)
            {
                string message = ex.Message;
                if (ex.InnerException != null)
                {
                    message += "<br />" + ex.InnerException.Message;
                }

                ViewBag.ErrorInfo = new ErrorInfo()
                {
                    error   = true,
                    message = "Error: se ha producido un error al intentar efectuar una operación en la base de datos.<br />" +
                              "El mensaje específico de error es: <br />" + message
                };

                return(View());
            }

            ViewBag.ErrorInfo = null;

            // ahora leemos el rif desde la tabla de compañías
            var compania = context.Companias.Where(c => c.Numero == ciaContabSeleccionada).FirstOrDefault();

            var pagoAnticipado = new EventoPagoAnticipado()
            {
                _id           = ObjectId.GenerateNewId().ToString(),
                Fecha         = DateTime.Today,
                FechaRegistro = DateTime.Now,
                Rif           = compania.Rif,
                Monto         = 0,
                Usuario       = User.Identity.Name,
                Cia           = compania.Numero
            };

            ViewBag.PageInfo = null;

            return(View(pagoAnticipado));
        }