public void CambiarEstadoInsumo(int idrequerimiento, int idinsumo, int idestado) { try { using (ConnectionRicardoPalma bdRicardo = new ConnectionRicardoPalma()) { Requerimiento_Insumo req = bdRicardo.Requerimiento_Insumo.Where(f => f.IdRequerimientoInsumo == idrequerimiento && f.IdInsumo == idinsumo).First(); req.IdEstado = idestado; req.EsAutorizado = (idestado == 1 ? true : false);//1=aprobado;2=noaprobado bdRicardo.SaveChanges(); } } catch (EntityException exx) { if (exx.InnerException != null && (exx.InnerException.Message.Contains("A network-related") || exx.InnerException.Message.Contains("Error relacionado con la red"))) { throw new TimeoutException(ConfigurationManager.AppSettings["strErrorTimeout"]); } else { throw exx; } } catch (Exception ex) { throw ex; } }
public int GuardarRequerimientoInsumo(int idAprobador, string insumos) { RequerimientoInsumo req = new RequerimientoInsumo(); try { List <BEInsumo> listainsumo = JsonConvert.DeserializeObject <List <BEInsumo> >(insumos); using (ConnectionRicardoPalma bdRicardo = new ConnectionRicardoPalma()) { req.IdPersonalEmergencia = idAprobador; req.FechaSolicitud = DateTime.Now; bdRicardo.RequerimientoInsumo.Add(req); bdRicardo.SaveChanges(); //agregar insumos foreach (BEInsumo item in listainsumo.Where(f => f.eseliminado == false).ToList()) { Requerimiento_Insumo reqinsu = new Requerimiento_Insumo(); reqinsu.IdInsumo = item.idinsumo; reqinsu.IdRequerimientoInsumo = req.IdRequerimientoInsumo; reqinsu.Cantidad = item.cantidad; reqinsu.Motivo = item.motivo; reqinsu.EsAutorizado = false; reqinsu.IdEstado = 2;/*No Aprobado*/ if (item.idsala == 1) { //1=trauma reqinsu.IdSala = item.idsala; reqinsu.Sala = "Trauma"; } else { reqinsu.IdSala = item.idsala; reqinsu.Sala = "Topico"; } bdRicardo.Requerimiento_Insumo.Add(reqinsu); bdRicardo.SaveChanges(); } } //aqui es el enviar correo if (!EnviarCorreo(req.IdRequerimientoInsumo)) { throw new Exception("Hubo un error al enviar el correo"); } } catch (EntityException exx) { if (exx.InnerException != null && (exx.InnerException.Message.Contains("A network-related") || exx.InnerException.Message.Contains("Error relacionado con la red"))) { throw new TimeoutException(ConfigurationManager.AppSettings["strErrorTimeout"]); } else { throw exx; } } catch (Exception ex) { throw ex; } return(req.IdRequerimientoInsumo); }