public async Task <IHttpActionResult> PutTelefonoEmpleado(int id, TelefonoEmpleado telefonoEmpleado)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != telefonoEmpleado.ID)
            {
                return(BadRequest());
            }

            db.Entry(telefonoEmpleado).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TelefonoEmpleadoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public async Task <IHttpActionResult> GetTelefonoEmpleado(int id)
        {
            TelefonoEmpleado telefonoEmpleado = await db.TelefonoEmpleado.FindAsync(id);

            if (telefonoEmpleado == null)
            {
                return(NotFound());
            }

            return(Ok(telefonoEmpleado));
        }
        public async Task <IHttpActionResult> PostTelefonoEmpleado(TelefonoEmpleado telefonoEmpleado)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.TelefonoEmpleado.Add(telefonoEmpleado);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = telefonoEmpleado.ID }, telefonoEmpleado));
        }
        public ActionResult EditTel(TelefonoEmpleadoViewModels telemp)
        {
            if (ModelState.IsValid)
            {
                TelEmpleado = dbCtx.TelefonoEmpleado.FirstOrDefault(a => a.Id == telemp.Id);
                TelEmpleado.NumeroTelefono     = telemp.NumeroTelefono;
                TelEmpleado.CompaniaTelefonoId = telemp.CompaniaTelefonoId;

                dbCtx.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult EditTel(int id)
        {
            ViewBag.Title = "Editar Numero";

            TelefonoEmpleadoViewModels telemp = new TelefonoEmpleadoViewModels();

            TelEmpleado               = dbCtx.TelefonoEmpleado.FirstOrDefault(a => a.EmpleadoId == id);
            telemp.NumeroTelefono     = TelEmpleado.NumeroTelefono;
            telemp.CompaniaTelefonoId = TelEmpleado.CompaniaTelefonoId;

            telemp.Companias = dbCtx.CompaniaTelefono.ToList();
            return(View(telemp));
        }
        public async Task <IHttpActionResult> DeleteTelefonoEmpleado(int id)
        {
            TelefonoEmpleado telefonoEmpleado = await db.TelefonoEmpleado.FindAsync(id);

            if (telefonoEmpleado == null)
            {
                return(NotFound());
            }

            db.TelefonoEmpleado.Remove(telefonoEmpleado);
            await db.SaveChangesAsync();

            return(Ok(telefonoEmpleado));
        }
        public async Task <ActionResult> Create(EmpleadoViewModels model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    empleado.Nombre          = model.Nombre;
                    empleado.Apellido        = model.Apellido;
                    empleado.Dpi             = Convert.ToInt64(model.Dpi);
                    empleado.Genero          = model.Genero;
                    empleado.Direccion       = model.Direccion;
                    empleado.FechaNacimiento = model.FechaNacimiento;

                    //Seleccionamos el estadp del Empleado que sea 'ACTIVO' y luego lo agregamos a FK EstadoClienteId
                    EstadoEmpleado estado = dbCtx.EstadoEmpleado.FirstOrDefault(e => e.NombreEstado == "Activo");
                    empleado.EstadoEmpleadoId = estado.Id;

                    //Asignamos el cargo del empleado que se ha selecionado en la etiqueta select.
                    empleado.CargoEmpleadoId = model.CargoEmpleadoId;
                    empleado.UserId          = user.Id;

                    //UserManager.AddToRole(user.Id, "User");

                    dbCtx.Empleado.Add(empleado);
                    dbCtx.SaveChanges();

                    TelefonoEmpleado telefono = new TelefonoEmpleado();
                    telefono.NumeroTelefono     = model.NumeroTelefono;
                    telefono.CompaniaTelefonoId = model.CompaniaTelefonoId;
                    telefono.EmpleadoId         = empleado.Id;

                    dbCtx.TelefonoEmpleado.Add(telefono);
                    dbCtx.SaveChanges();


                    return(RedirectToAction("Index"));
                }
            }

            return(View(model));
        }
        public ActionResult ActualizarMedico(string medicoID, string nombre, string apellido, string direccion,
                                             string exequatur, string especialidad, string telMovil, string telCasa, HttpPostedFileBase file)
        {
            int mdID = Int32.Parse(medicoID);

            Empleados medicoDB = context.Empleados.Where(x => x.ID == mdID).FirstOrDefault();

            medicoDB.Nombre    = nombre;
            medicoDB.Apellido  = apellido;
            medicoDB.Direccion = direccion;

            if (file != null)
            {
                medicoDB.Foto = new byte[file.ContentLength];
                file.InputStream.Read(medicoDB.Foto, 0, file.ContentLength);
            }
            else
            {
                medicoDB.Foto = null;
            }

            context.SaveChanges();


            int     especialidadID = context.Especialidades.Where(x => x.Nombre == especialidad).FirstOrDefault().ID;
            Medicos datoMedicoDB   = context.Medicos.Where(x => x.EmpleadoID == mdID).FirstOrDefault();

            if (datoMedicoDB != null)
            {
                datoMedicoDB.Exequatur      = Int32.Parse(StringExtenssion.SinGuion(exequatur));
                datoMedicoDB.EspecialidadID = especialidadID;
                context.SaveChanges();
            }
            else
            {
                Medicos datoMedico = new Medicos();
                datoMedico.Exequatur      = Int32.Parse(StringExtenssion.SinGuion(exequatur));
                datoMedico.EmpleadoID     = mdID;
                datoMedico.EspecialidadID = especialidadID;
                context.Medicos.Add(datoMedico);
                context.SaveChanges();
            }


            TelefonoEmpleado telEmpleadoDB = context.TelefonoEmpleado.Where(x => x.EmpleadoID == mdID).FirstOrDefault();

            if (telEmpleadoDB != null)
            {
                telEmpleadoDB.TelefonoMovil = StringExtenssion.SinGuion(telMovil);
                telEmpleadoDB.TelefonoCasa  = StringExtenssion.SinGuion(telCasa);
                context.SaveChanges();
            }
            else
            {
                TelefonoEmpleado telEmpleado = new TelefonoEmpleado();
                telEmpleado.TelefonoMovil = StringExtenssion.SinGuion(telMovil);
                telEmpleado.TelefonoCasa  = StringExtenssion.SinGuion(telCasa);
                telEmpleado.EmpleadoID    = mdID;
                context.TelefonoEmpleado.Add(telEmpleado);
                context.SaveChanges();
            }


            return(RedirectToAction("ListaMedico"));
        }