public async Task <IHttpActionResult> Update([FromBody] ProductoGISolicitud model) { try { await _repo.Update(model); return(Ok("Registro actualizado exitosamente!")); } catch (Exception e) { return(InternalServerError(e)); } }
public async Task Create(ProductoGISolicitud model) { try { if (model.ProductoId < 1) { throw new Exception("No se recuperó ProductoId"); } var fecha = DateTime.Now; if (model != null && model.ProductoGISolicitudArchivosInnovacion != null && model.ProductoGISolicitudArchivosInnovacion.Count() > 0) { foreach (var a in model.ProductoGISolicitudArchivosInnovacion) { a.Fecha = fecha; } } if (model != null && model.ProductoGISolicitudArchivosFase != null && model.ProductoGISolicitudArchivosFase.Count() > 0) { foreach (var a in model.ProductoGISolicitudArchivosFase) { a.Fecha = fecha; } } if (model != null && model.ProductoGISolicitudArchivosSuperior != null && model.ProductoGISolicitudArchivosSuperior.Count() > 0) { foreach (var a in model.ProductoGISolicitudArchivosSuperior) { a.Fecha = fecha; } } model.FechaRegistro = fecha; dbGI.DbSetProductoGISolicitud.Add(model); await dbGI.SaveChangesAsync(); ProductoGIRepository repoProducto = new ProductoGIRepository(dbGI); var producto = await repoProducto.GetById(model.ProductoId); if (producto != null) { await repoProducto.UpdateEstadoComite(producto, 16); } } catch (Exception e) { throw new Exception(e.Message, e); } }
private async Task UpdateArchivosInnovacion(ProductoGISolicitud model) { try { var _model = await dbGI.DbSetProductoGISolicitud .Where(e => e.Id == model.Id) .Include(x => x.ProductoGISolicitudArchivosInnovacion) .FirstOrDefaultAsync(); if (_model != null) { if (model.ProductoGISolicitudArchivosInnovacion != null && model.ProductoGISolicitudArchivosInnovacion.Count() > 0) { ProductoGISolicitudArchivosInnovacionRepository gerDB = new ProductoGISolicitudArchivosInnovacionRepository(dbGI); var fecha = DateTime.Now; foreach (var e in model.ProductoGISolicitudArchivosInnovacion) { if (e.Id < 1)//nuevo { e.Fecha = fecha; e.ProductoGISolicitudId = model.Id; await gerDB.Create(e); } else { if (e.Adjunto != null && e.Adjunto.nombre.Equals("eliminar")) { await gerDB.Delete(e.Id); } } } } } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Update(ProductoGISolicitud model) { try { var _model = await dbGI.DbSetProductoGISolicitud.FirstOrDefaultAsync(e => e.Id == model.Id); if (_model != null) { dbGI.Entry(_model).CurrentValues.SetValues(model); await dbGI.SaveChangesAsync(); await this.UpdateArchivosSuperior(model); await this.UpdateArchivosFase(model); await this.UpdateArchivosInnovacion(model); } } catch (Exception e) { throw new Exception(e.Message, e); } }