public void Inicializar()
 {
     localizacao = new Localizacao(-23.488193, -46.607975);
     usuario = new Usuario("edubalf", "123mudar", "123mudar");
     tipoLocalDePesca = new TipoLocalDePesca(new Comentario("rio", usuario));
     localDePesca = new LocalDePesca("Atibainha", localizacao, usuario, tipoLocalDePesca);
     comentario = new Comentario("Teste", usuario);
     relatoDePesca = new RelatoDePesca(comentario, DateTime.Now);
 }
        public ActionResult Novo(LocalDePescaViewModel localDePescaViewModel)
        {
            LocalDePesca localDePesca;
            Localizacao localizacao;
            UsuarioViewModel usuarioViewModel;
            Usuario usuario;
            TipoLocalDePesca tipoLocalDePesca;

            if (ModelState.IsValid)
            {
                try
                {
                    if (Request.Cookies["GuiaDaPescaUsuario"] != null)
                    {
                        usuarioViewModel = Newtonsoft.Json.JsonConvert.DeserializeObject<UsuarioViewModel>(Request.Cookies["GuiaDaPescaUsuario"].Value);
                        usuario = Mapper.Map<UsuarioViewModel, Usuario>(usuarioViewModel);

                        localizacao = new Localizacao(localDePescaViewModel.Localizacao.Latitude, localDePescaViewModel.Localizacao.Longitude);
                        new LocalizacaoRepository().AdicionarPadrao(localizacao);

                        tipoLocalDePesca = new TipoLocalDePescaRepository().Obter(localDePescaViewModel.TipoLocalDePesca.Id);

                        localDePesca = new LocalDePesca(localDePescaViewModel.Nome, localizacao, usuario, tipoLocalDePesca);
                        new LocalDePescaRepository().AdicionarPadrao(localDePesca);
                    }
                    else
                    {
                        throw new ArgumentException("O usuario deve estar logado");
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }

            return View();
        }