public IResultado <Profesional> Crear(Profesional profesional)
        {
            Resultado <Profesional> resultado = new Resultado <Profesional>();

            try
            {
                decimal id = _domain.Crear(profesional);
                profesional.IdProfesional = id;

                resultado.Retorno = profesional;
            }
            catch (SqlException ex)
            {
                resultado.Correcto = false;
                if (ex.Errors.Count > 0)
                {
                    // Violación de constraint UNIQUE
                    if (ex.Class == 14 && (ex.Number == 2627 || ex.Number == 50000))
                    {
                        resultado.Mensajes.Add("No se permite valores repetidos para los campos 'Nro de Documento' o 'Matricula'.");
                    }
                }
                resultado.Mensajes.Add(ex.Message);
            }
            catch (Exception ex)
            {
                resultado.Correcto = false;
                resultado.Mensajes.Add(ex.Message);
            }
            return(resultado);
        }
        public IResultado <Especialidad> Crear(Especialidad especialidad)
        {
            Resultado <Especialidad> resultado = new Resultado <Especialidad>();

            try
            {
                decimal id = _domain.Crear(especialidad);
                especialidad.IdEspecialidad = id;
                resultado.Retorno           = especialidad;
            }
            catch (SqlException ex)
            {
                resultado.Correcto = false;
                if (ex.Errors.Count > 0)
                {
                    // Violación de constraint UNIQUE
                    if (ex.Class == 14 && (ex.Number == 2627 || ex.Number == 50000))
                    {
                        resultado.Mensajes.Add("No se permite valores repetidos para los campos.");
                    }
                }
                resultado.Mensajes.Add(ex.Message);
            }
            catch (Exception ex)
            {
                resultado.Correcto = false;
                resultado.Mensajes.Add(ex.Message);
            }
            return(resultado);
        }
        public IResultado <Agenda> Alta(Agenda nuevaAgenda, IList <DiaAgenda> diasAgenda, IList <FechaExcepcion> excepciones)
        {
            Resultado <Agenda> resultado = new Resultado <Agenda>();

            try
            {
                if (!_dal.AgendaValida(nuevaAgenda))
                {
                    resultado.Correcto = false;
                    resultado.Mensajes.Add("Hay una superposición en los días de la agenda.");
                    return(resultado);
                }

                nuevaAgenda.Id = _domain.Crear(nuevaAgenda);

                foreach (DiaAgenda diaAgenda in diasAgenda)
                {
                    diaAgenda.Id = nuevaAgenda.Id;
                    decimal idDia = _dalDiaAgenda.Crear(diaAgenda); //Asocia la agenda creada con los días.
                }

                foreach (FechaExcepcion exc in excepciones)
                {
                    exc.IdAgenda = nuevaAgenda.Id;
                    decimal idExcepcion = _dalDiaAgenda.CrearExcepcion(exc);
                }

                resultado.Retorno = nuevaAgenda;
            }
            catch (SqlException ex)
            {
                resultado.Correcto = false;
                if (ex.Errors.Count > 0)
                {
                    // Violación de constraint UNIQUE
                    if (ex.Class == 14 && (ex.Number == 2627 || ex.Number == 50000))
                    {
                        resultado.Mensajes.Add("No se permite valores repetidos.");
                    }
                }
                resultado.Mensajes.Add(ex.Message);
            }
            catch (Exception ex)
            {
                resultado.Correcto = false;
                resultado.Mensajes.Add(ex.Message);
            }

            return(resultado);
        }
        public IResultado <TipoEspecialidad> Crear(TipoEspecialidad especialidad)
        {
            Resultado <TipoEspecialidad> resultado = new Resultado <TipoEspecialidad>();

            try
            {
                decimal id = _domain.Crear(especialidad);
                especialidad.Id   = id;
                resultado.Retorno = especialidad;
            }
            catch (Exception ex)
            {
                resultado.Correcto = false;
                resultado.Mensajes.Add(ex.Message);
            }
            return(resultado);
        }
Esempio n. 5
0
        public IResultado <Rol> Alta(Rol nuevoRol, IList <Funcionalidad> funcionalidades)
        {
            Resultado <Rol> resultado = new Resultado <Rol>();

            try
            {
                decimal id = _domain.Crear(nuevoRol);
                nuevoRol.Id = id;

                foreach (Funcionalidad func in funcionalidades)
                {
                    _dal.AsociarRolFuncionalidad(nuevoRol.Id, func.IdFuncionalidad);
                }

                resultado.Retorno = nuevoRol;
            }
            catch (SqlException ex)
            {
                resultado.Correcto = false;
                if (ex.Errors.Count > 0)
                {
                    // Violación de constraint UNIQUE
                    if (ex.Class == 14 && (ex.Number == 2627 || ex.Number == 50000))
                    {
                        resultado.Mensajes.Add("No se permite valores repetidos para el campo nombre.");
                    }
                }
                resultado.Mensajes.Add(ex.Message);
            }
            catch (Exception ex)
            {
                resultado.Correcto = false;
                resultado.Mensajes.Add(ex.Message);
            }

            return(resultado);
        }