Example #1
0
        public IHttpActionResult SaveEvento(Models.DTO.Evento evento)
        {
            try
            {
                int usuarioId = int.Parse(DbContextAIVH.GetUserName(User));

                // insertar evento
                if (evento.eventoId == 0)
                {
                    db.Evento.Add(new Models.Evento
                    {
                        CentroCostoId      = evento.centroCostosId,
                        LugarEvento        = evento.lugarEvento,
                        NombreEvento       = evento.nombreEvento,
                        EventoTipoId       = evento.eventoTipoId,
                        UsuarioId          = evento.instructorId,
                        FechaEvento        = DateTime.ParseExact((evento.fechaEvento.Replace('-', '/')), "dd/MM/yyyy", CultureInfo.InvariantCulture),
                        Efectivo           = 0,
                        ChequeTans         = 0,
                        NumeroChequeTans   = "",
                        Fecha              = DateTime.Now,
                        Hora               = DateTime.Now.TimeOfDay,
                        UsuarioIdActualizo = usuarioId,
                        EstatusId          = 1
                    });
                }
                else
                {
                    var eventoDb = db.Evento.Where(a => a.EventoId == evento.eventoId).FirstOrDefault();

                    eventoDb.CentroCostoId      = evento.centroCostosId;
                    eventoDb.LugarEvento        = evento.lugarEvento;
                    eventoDb.NombreEvento       = evento.nombreEvento;
                    eventoDb.EventoTipoId       = evento.eventoTipoId;
                    eventoDb.UsuarioId          = evento.instructorId;
                    eventoDb.FechaEvento        = DateTime.ParseExact((evento.fechaEvento.Replace('-', '/')), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    eventoDb.Fecha              = DateTime.Now;
                    eventoDb.Hora               = DateTime.Now.TimeOfDay;
                    eventoDb.UsuarioIdActualizo = usuarioId;
                    eventoDb.EstatusId          = 1;
                }

                db.SaveChanges();

                int eventoId = db.Evento.Local.FirstOrDefault().EventoId;

                return(Ok(new
                {
                    message = "El evento se guardó correctamente.",
                    eventoId
                }));
            }
            catch (Exception Ex)
            {
                return(BadRequest("Error al guardar evento"));
            }
        }
Example #2
0
        public IHttpActionResult SaveRendicion(Models.DTO.Evento evento)
        {
            try
            {
                int usuarioId = int.Parse(DbContextAIVH.GetUserName(User));

                //insertar participantes
                List <EventoDonante> eventoDonante = new List <EventoDonante>();
                int donanteId = 1;
                evento.donantes.ForEach(n =>
                {
                    eventoDonante.Add(new EventoDonante
                    {
                        EventoId  = evento.eventoId,
                        DonanteId = donanteId,
                        Nombre    = n.nombre,
                        Apellido  = n.apellido,
                        Efectivo  = n.efectivo,
                        DepositooTransferencia = n.deposito,
                        Cheque         = n.cheque,
                        TarjetaCredito = n.tarjeta,
                        Email          = n.email,
                        Celular        = n.celular
                    });
                    donanteId += 1;
                });

                //insertar gastos
                List <Models.EventoGastoDetalle> eventoGastoDetalle = new List <Models.EventoGastoDetalle>();
                int consecutivoId = 1;
                evento.gastos.ForEach(n =>
                {
                    eventoGastoDetalle.Add(new Models.EventoGastoDetalle
                    {
                        EventoId          = evento.eventoId,
                        ConsecutivoId     = consecutivoId,
                        ComprobanteTipoId = n.comprobanteTipoId,
                        Fecha             = DateTime.ParseExact((n.fecha.Replace("-", "/")), "dd/MM/yyyy", CultureInfo.InvariantCulture),
                        SubConceptoId     = n.subConceptoId,
                        Descripcion       = n.descripcion,
                        Proveedor         = n.proveedor,
                        SubTotal          = n.subTotal,
                        Iva   = n.iva,
                        Total = n.total
                    });
                    consecutivoId += 1;
                });
                DateTime?nulo = null;

                var eventoDb = db.Evento.Where(a => a.EventoId == evento.eventoId).FirstOrDefault();
                db.EventoGastoDetalle.RemoveRange(eventoDb.EventoGastoDetalle);
                db.EventoDonante.RemoveRange(eventoDb.EventoDonante);

                eventoDb.Efectivo           = evento.efectivo;
                eventoDb.ChequeTans         = evento.chequeTans;
                eventoDb.FechasChequeTans   = evento.fechachequeTans != "" ? DateTime.ParseExact((evento.fechachequeTans.Replace("-", "/")), "dd/MM/yyyy", CultureInfo.InvariantCulture) : nulo;
                eventoDb.NumeroChequeTans   = evento.numeroChequeTans;
                eventoDb.Fecha              = DateTime.Now;
                eventoDb.Hora               = DateTime.Now.TimeOfDay;
                eventoDb.UsuarioIdActualizo = usuarioId;

                if (eventoGastoDetalle.Count > 0)
                {
                    db.EventoGastoDetalle.AddRange(eventoGastoDetalle);
                }
                if (eventoDonante.Count > 0)
                {
                    db.EventoDonante.AddRange(eventoDonante);
                }



                db.SaveChanges();

                int eventoId = db.Evento.Local.FirstOrDefault().EventoId;

                return(Ok(new
                {
                    message = "El evento se guardó correctamente.",
                    eventoId
                }));
            }
            catch (Exception Ex)
            {
                return(BadRequest("Error al guardar evento"));
            }
        }