// GET: /AusenciaRemunerada/AusenciaRemuneradaCreate
        public ActionResult AusenciaRemuneradaCreate()
        {
            AusenciaRemunerada ausenciaremunerada = new AusenciaRemunerada();

            #region populaobjetos
            //var colaboradores = ObtemColaboradores(ausenciaremunerada.COLABORADORKEY);
            var colaboradores = ObtemColaboradores();
            IEnumerable<SelectListItem> colaboradoresSelectListItem = new SelectList(colaboradores, "Key", "Value");
            ViewBag.COLABORADORKEY = new SelectList(colaboradores, "Key", "Value");
            #endregion populaobjetos

            AusenciaRemuneradaViewModel ausenciaRemuneradaVM = new AusenciaRemuneradaViewModel(ausenciaremunerada, colaboradoresSelectListItem);

            return View(ausenciaRemuneradaVM);
        }
        // GET: /AusenciaRemunerada/AusenciaRemuneradaEdit/5
        public ActionResult AusenciaRemuneradaEdit(int? id)
        {
            if (id == null)
            {
                //return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                throw new Exception();
            }
            var ausenciaremunerada = _ausenciaremuneradaAppService.Get(id ?? default(int));
            if (ausenciaremunerada == null)
            {
                //return HttpNotFound();
                throw new Exception();
            }

            var controleacesso = _controleacessoAppService.Get(ausenciaremunerada.COLABORADORKEY);
            if (controleacesso == null)
            {
                //return HttpNotFound();
                throw new Exception();
            }

            var colaboradores = _colaboradorAppService.GET_ID(controleacesso.CODIGOEMPRESAALTERNATE, controleacesso.CODIGOFILIALALTERNATE, controleacesso.CODIGOSECUNDARIO).ToList();

            string nomeCompleto = "*** SEM NOME DE COLABORADOR ***";
            if (colaboradores.Count() != 0)
            {
                nomeCompleto = colaboradores.FirstOrDefault().NomeCompleto;
            }

            AusenciaRemuneradaViewModel ausenciaRemuneradaVM = new AusenciaRemuneradaViewModel(ausenciaremunerada, nomeCompleto);

            return View(ausenciaRemuneradaVM);
        }
        //
        // GET: /AusenciaRemunerada/AusenciaRemuneradaDelete/5
        public ActionResult AusenciaRemuneradaDelete(int? id, bool? saveChangesError = false)
        {
            if (id == null)
            {
                //return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                //throw new InvalidOperationException("Something very bad happened while doing important stuff");
                throw new Exception();
            }

            if (saveChangesError.GetValueOrDefault())
            {
                ViewBag.ErrorMessage = "Erro na exclusão. Tente novamente ou, se o problema persistir, entre em contato com o suporte.";
            }

            var ausenciaremunerada = _ausenciaremuneradaAppService.Get(id ?? default(int));

            if (ausenciaremunerada == null)
            {
                //return HttpNotFound();
                throw new Exception();
            }

            var controleacesso = _controleacessoAppService.Get(ausenciaremunerada.COLABORADORKEY);
            if (controleacesso == null)
            {
                //return HttpNotFound();
                throw new Exception();
            }

            var colaboradores = _colaboradorAppService.GET_ID(controleacesso.CODIGOEMPRESAALTERNATE, controleacesso.CODIGOFILIALALTERNATE, controleacesso.CODIGOSECUNDARIO).ToList();

            string nomeCompleto = "*** SEM NOME DE COLABORADOR ***";
            if (colaboradores.Count() != 0)
            {
                nomeCompleto = colaboradores.FirstOrDefault().NomeCompleto;
            }

            AusenciaRemuneradaViewModel ausenciaRemuneradaViewModelVM = new AusenciaRemuneradaViewModel(ausenciaremunerada, nomeCompleto);

            return View(ausenciaRemuneradaViewModelVM);
        }