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")); } }
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")); } }