public bool Save(MuestraLaboratorio objEnt) { bool flag = false; try { DbTransaction transaction = BaseConnection.GetTransaction(); try { MuestraLaboratorioDao muestraLaboratorioDao = new MuestraLaboratorioDao(); if (objEnt.Id != int.MinValue) { flag = muestraLaboratorioDao.Update(objEnt, (DbTransaction)null); this.error = muestraLaboratorioDao.Error; } else { flag = muestraLaboratorioDao.Create(objEnt, transaction); if (!flag) { throw new Exception(muestraLaboratorioDao.Error); } HistoriaMedica objHmEnt = new HistoriaMedicaDao().Load(objEnt.IdHistoria, transaction); objHmEnt.IdUltimaModificacion = objEnt.IdUltimaModificacion; if (!muestraLaboratorioDao.UpdateStatus(objHmEnt, transaction)) { throw new Exception(muestraLaboratorioDao.Error); } } if (flag) { transaction.Commit(); } } catch (Exception ex) { this.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message; transaction.Rollback(); } } catch (Exception ex) { this.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message; } return(flag); }
public bool SolicitarMuestrasMedicina( int idHistoria, ArrayList arr, int idUsuario, string commentUser) { bool flag = false; try { DbTransaction transaction = BaseConnection.GetTransaction(); try { MuestraLaboratorioDao muestraLaboratorioDao = new MuestraLaboratorioDao(); HistoriaMedicaDao historiaMedicaDao = new HistoriaMedicaDao(); HistoriaMedica objToProcess1 = historiaMedicaDao.Load(idHistoria, transaction); DataTable dtEstructure = MuestraLaboratorioDao.DtEstructure; foreach (string str in arr) { MuestraLaboratorio objToProcess2 = new MuestraLaboratorio(); Constants.ExamenLab int32 = (Constants.ExamenLab)Convert.ToInt32(str); List <MuestraLaboratorio> muestraLaboratorios = muestraLaboratorioDao.GetMuestraLaboratorios(idHistoria, int32, false, string.Empty, DateTime.MinValue, short.MinValue, transaction); if (muestraLaboratorios.Count > 0) { objToProcess2.NumeroMuestra = muestraLaboratorios[0].NumeroMuestra; ++objToProcess2.NumeroMuestra; } else { objToProcess2.NumeroMuestra = (short)1; } MuestraLaboratorio muestraLaboratorio = muestraLaboratorios.Count > 0 ? muestraLaboratorios[0] : new MuestraLaboratorio(); objToProcess2.Estado = Constants.EstadosMuestraLaboratorio.SinAplicar; objToProcess2.IdHistoria = idHistoria; objToProcess2.IdTipoExamen = int32; objToProcess2.Resultado = "SIN APLICAR"; objToProcess2.FechaTomaMuestra = DateTime.Now; objToProcess2.IdCreacion = muestraLaboratorio.IdUltimaModificacion = idUsuario; objToProcess2.FechaCreacion = muestraLaboratorio.FechaUltimaModificacion = DateTime.Now; if (!muestraLaboratorioDao.Create(objToProcess2, transaction)) { throw new Exception(muestraLaboratorioDao.Error); } } objToProcess1.ComentarioLab += commentUser; objToProcess1.IdUltimaModificacion = idUsuario; objToProcess1.Finalizada = false; objToProcess1.EstadoRevisionLab = Constants.EstadoRevision.SinAplicar; objToProcess1.EstadoRevisionMed = Constants.EstadoRevision.SinAplicar; if (!historiaMedicaDao.Update(objToProcess1, transaction)) { throw new Exception(historiaMedicaDao.Error); } transaction.Commit(); flag = true; } catch (Exception ex) { this.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message; transaction.Rollback(); } finally { transaction.Dispose(); } } catch (Exception ex) { this.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message; } return(flag); }