예제 #1
0
        public ActionResult Create(CidadeModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Cidade cidade = new Cidade();
                    cidade.Nome = model.Nome;
                    cidade.IdEstado = model.IdEstado;
                    cidade.Capital = model.Capital;

                    var business = new CidadeBusiness();
                    business.Salvar(cidade);

                    ModelState.AddModelError(string.Empty, "Cadastro efetuado com sucesso.");

                    return RedirectToAction("Index");
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError(string.Empty, "Um erro ocorreu ao tentar salvar o Cidade: " + ex.Message);
                    AddListaEstado(model.IdEstado);
                    return View();
                }
            }
            else
            {
                AddListaEstado(model.IdEstado);
                return View();
            }
        }
예제 #2
0
        public Cidade GetById(int idCidade)
        {
            SqlCommand command = getConnection().CreateCommand();
            command.CommandText = SELECT_COMMAND + " AND IdCidade = @IdCidade";

            command.Parameters.AddWithValue("IdCidade", idCidade);

            Cidade cidade = new Cidade();

            try
            {
                SqlDataReader reader = executeReadCommand(command);

                while (reader.Read())
                {
                    cidade.IdCidade = reader.GetInt32(0);
                    cidade.Nome = reader.GetString(1);
                    cidade.IdEstado = cidade.Estado.IdEstado = reader.GetInt32(2);
                    cidade.Estado.Nome = reader.GetString(3);
                    cidade.Capital = reader.GetBoolean(4);

                }
            }
            catch (Exception ex)
            {
                throw new RepositoryException(ex.Message);
            }
            finally
            {
                command.Connection.Close();
            }

            return cidade;
        }
예제 #3
0
        public IList<Cidade> GetAll()
        {
            SqlCommand command = getConnection().CreateCommand();
            command.CommandText = SELECT_COMMAND;

            IList<Cidade> cidades = new List<Cidade>();

            try
            {
                SqlDataReader reader = executeReadCommand(command);
                Cidade cidade;
                while (reader.Read())
                {
                    cidade = new Cidade();
                    cidade.IdCidade = reader.GetInt32(0);
                    cidade.Nome = reader.GetString(1);
                    cidade.IdEstado = cidade.Estado.IdEstado = reader.GetInt32(2);
                    cidade.Estado.Nome = reader.GetString(3);
                    cidade.Capital = reader.GetBoolean(4);
                    cidades.Add(cidade);
                }
            }
            catch (Exception ex)
            {
                throw new RepositoryException(ex.Message);
            }
            finally
            {
                command.Connection.Close();
            }

            return cidades;
        }
예제 #4
0
 private Cidade FromViewToModel(CidadeModel model)
 {
     var cidade = new Cidade();
     cidade.IdCidade = model.Id;
     cidade.Nome = model.Nome;
     cidade.IdEstado = model.IdEstado;
     cidade.Capital = model.Capital;
     return cidade;
 }
예제 #5
0
 private CidadeModel FromModelToView(Cidade cidade)
 {
     var model = new CidadeModel();
     model.Id = cidade.IdCidade;
     model.Nome = cidade.Nome;
     model.IdEstado = cidade.IdEstado;
     model.Estado = cidade.Estado.Nome;
     model.Capital = cidade.Capital;
     return model;
 }
예제 #6
0
        public void Salvar(Cidade cidade)
        {
            using (TransactionScope tran = new TransactionScope())
            {
                try
                {
                    string URL;
                    string Method;
                    if (cidade.IdCidade == 0)
                    {
                        URL = ConfigurationManager.AppSettings["UrlServicoSerializacao"] + "/Cidades/Add";
                        Method = "POST";
                    }
                    else
                    {
                        URL = ConfigurationManager.AppSettings["UrlServicoSerializacao"] + "/Cidades/Index/" + cidade.IdCidade;
                        Method = "PUT";
                    }

                    // Gera o ID caso Criação
                    Repository.Salvar(cidade);

                    WebRequest request = WebRequest.Create(URL);

                    request.Method = Method;
                    request.ContentType = "application/x-www-form-urlencoded";

                    byte[] body = GetPostBody(cidade);

                    request.ContentLength = body.Length;
                    Stream dataStream = request.GetRequestStream();
                    dataStream.Write(body, 0, body.Length);
                    dataStream.Close();

                    WebResponse response = request.GetResponse();

                    HttpStatusCode responseStatus = (((HttpWebResponse)response).StatusCode);

                    if (responseStatus == HttpStatusCode.OK)
                    {
                        tran.Complete();
                    }
                    else
                    {
                        throw new Exception(response.ToString());
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Não foi possível salvar a Ciadade: " + ex.Message);
                }
            }
        }
예제 #7
0
        private byte[] GetPostBody(Cidade cidade)
        {
            byte[] retorno;

            StringBuilder sb = new StringBuilder();
            sb.Append("IdCidade=");
            sb.Append(Uri.EscapeUriString(cidade.IdCidade.ToString()));
            sb.Append("&Nome=");
            sb.Append(Uri.EscapeUriString(cidade.Nome));
            sb.Append("&IdEstado=");
            sb.Append(Uri.EscapeUriString(cidade.IdEstado.ToString()));
            sb.Append("&Capital=");
            sb.Append(Uri.EscapeUriString(cidade.Capital.ToString()));

            retorno = Encoding.UTF8.GetBytes(sb.ToString());

            return retorno;
        }
예제 #8
0
        public Cidade Salvar(Cidade cidade)
        {
            try
            {
                IDictionary<string, object> parameters = new Dictionary<string, object>();
                parameters.Add("Nome", cidade.Nome);
                parameters.Add("IdEstado", cidade.IdEstado);
                parameters.Add("Capital", cidade.Capital);
                if (cidade.IdCidade == 0)
                {
                    cidade.IdCidade = this.executeInsertCommand(INSERT_COMMAND, parameters);
                }
                else
                {
                    parameters.Add("IdCidade", cidade.IdCidade.ToString());
                    this.executeUpdateCommand(UPDATE_COMMAND, parameters);
                }

                return cidade;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }