public static TarefaCadastroModel Monta(TarefaDto dto)
        {
            if (dto != null)
            {
                TarefaCadastroModel model = new TarefaCadastroModel()
                {
                    DataDaEntrega = dto.DataDaEntrega,
                    Descricao = dto.Descricao,
                    Estado = (EstadoTarefaModel)dto.Estado,
                    IdUsuario = dto.Usuario.Id,
                    Nome = dto.Nome
                };

                return model;
            }
            else
            {
                return null;
            }
        }
        public void TarefaDtoParaTarefaCadastroModel()
        {
            TarefaCadastroModel model = new TarefaCadastroModel();
            TarefaDto dto = new TarefaDto()
            {
                DataDaEntrega = DateTime.Now,
                Descricao = "Transcrição de Model para Dto",
                Estado = global::Aplicacao.Dto.EstadoTarefa.EmAberto,
                Nome = "Transcrição de Model para Dto",
                Usuario = new UsuarioDto()
                {
                    Id = 9
                }
            };

            model = mapper.Map<TarefaCadastroModel>(dto);

            Assert.IsTrue(!String.IsNullOrEmpty(model.Nome) && model.IdUsuario.HasValue);
        }
        public void TarefaCadastroModelParaTarefaDto()
        {
            TarefaDto dto = new TarefaDto();
            TarefaCadastroModel model = new TarefaCadastroModel()
            {
                DataDaEntrega = DateTime.Now,
                Descricao = "Transcrição de Model para Dto",
                Estado = EstadoTarefaModel.EmAberto,
                IdUsuario = 1,
                Nome = "Transcrição de Model para Dto"
            };

            dto = mapper.Map<TarefaDto>(model);

            Assert.IsTrue(!String.IsNullOrEmpty(dto.Nome) && dto.Usuario.Id.HasValue);
        }
        public JsonResult CadastrarTarefa(TarefaCadastroModel model)
        {
            try
            {
                PainelDeTarefaModel painelDeTarefasModel;
                ModelState.Clear();
                TarefaDto dto = new TarefaDto();
                model.IdUsuario = int.Parse(Session["IdUsuario"].ToString());

                dto = Mapeador.Map<TarefaDto>(model);

                if (dto != null)
                {
                    this.tarefaAplicacaoServico.CadastrarTarefa(dto);

                    painelDeTarefasModel = this.MontaPainelDeTarefas(dto.IdUsuario.Value);

                    return Json("Tarefa " + model.Nome + " cadastrada com sucesso!");
                }
                else
                {
                    return null;
                }
            }
            catch (DbEntityValidationException e)
            {
                String erro = String.Empty;
                foreach (var eve in e.EntityValidationErrors)
                {
                     erro += String.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                        eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        erro += String.Format("- Property: \"{0}\", Error: \"{1}\"",
                            ve.PropertyName, ve.ErrorMessage);
                    }
                }
                return Json(erro.ToString());
            }
            catch(Exception ex)
            {
                return Json(ex.Message);
            }
        }
        public static TarefaDto Monta(TarefaCadastroModel model)
        {
            if (model != null)
            {
                TarefaDto dto = new TarefaDto()
                {
                    DataDaEntrega = model.DataDaEntrega,
                    Descricao = model.Descricao,
                    Estado = (EstadoTarefa)model.Estado,
                    Nome = model.Nome
                };

                return dto;
            }
            else
            {
                return null;
            }
        }