public HistoriaMedica Load(int id)
        {
            HistoriaMedicaDao historiaMedicaDao = new HistoriaMedicaDao();
            HistoriaMedica    historiaMedica    = historiaMedicaDao.Load(id, (DbTransaction)null);

            this.error = historiaMedicaDao.Error;
            return(historiaMedica);
        }
Ejemplo n.º 2
0
        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);
        }