/// <summary> /// Restaura o banco de dados a partir do backup /// </summary> /// <param name="requisicaoDto"></param> /// <param name="retornoDto"></param> /// <returns></returns> public bool RestaurarBackup(RequisicaoArquivoDto requisicaoDto, ref RetornoDto retornoDto) { string mensagemErro = ""; if (!UtilitarioBll.ValidarIdentificacao(requisicaoDto.Identificacao, requisicaoDto.IdUsuario, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.RestaurarBackup, Guid.Empty, mensagemErro); return(false); } try { PizzaByteContexto context = new PizzaByteContexto(); Byte[] bytes = Convert.FromBase64String(requisicaoDto.ArquivoBase64); string comandosSql = Encoding.UTF8.GetString(bytes); string backupDescriptografado = ""; if (!UtilitarioBll.DescriptografarString(comandosSql, ref backupDescriptografado)) { retornoDto.Retorno = false; retornoDto.Mensagem = "Erro ao criptografar o backup"; logBll.ResgistrarLog(requisicaoDto, LogRecursos.RestaurarBackup, Guid.Empty, retornoDto.Mensagem); return(false); } using (SqlConnection conn = new SqlConnection(context.Database.Connection.ConnectionString)) { Server server = new Server(new ServerConnection(conn)); if (server.ConnectionContext.ExecuteNonQuery(backupDescriptografado) < 0) { retornoDto.Mensagem = "Falha ao restaurar o backup: "; retornoDto.Retorno = false; logBll.ResgistrarLog(requisicaoDto, LogRecursos.RestaurarBackup, Guid.Empty, retornoDto.Mensagem); return(false); } } retornoDto.Retorno = true; return(true); } catch (Exception ex) { retornoDto.Mensagem = "Falha ao restaurar o backup: " + ex.Message; retornoDto.Retorno = false; logBll.ResgistrarLog(requisicaoDto, LogRecursos.RestaurarBackup, Guid.Empty, retornoDto.Mensagem); return(false); } }
/// <summary> /// Obtem o total de entrega por profissional /// </summary> /// <param name="requisicaoDto"></param> /// <param name="retornoDto"></param> /// <returns></returns> public bool ObterTotalEntregaPorProfissional(RequisicaoDataDto requisicaoDto, ref RetornoObterTotalEntregaPorProfissionalDto retornoDto) { string mensagemErro = ""; if (!UtilitarioBll.ValidarIdentificacao(requisicaoDto.Identificacao, requisicaoDto.IdUsuario, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterTotalEntregaPorProfissional, Guid.Empty, mensagemErro); return(false); } List <SqlParameter> listaFiltros = new List <SqlParameter>(); listaFiltros.Add(new SqlParameter("dataCaixa", requisicaoDto.Data.Date)); string query = "SELECT CAST(ISNULL(SUM(TaxaEntrega), 0) AS float) AS TotalEntregas," + " f.Nome AS NomeProfissional" + " FROM PizzaByte.PedidosEntregas AS e" + " INNER JOIN PizzaByte.Pedidos AS p ON e.IdPedido = p.Id" + " INNER JOIN PizzaByte.Funcionarios AS f ON e.IdFuncionario = f.Id AND f.Inativo = 0" + " AND f.Excluido = 0" + " WHERE CAST(e.DataInclusao AS Date) = @dataCaixa AND e.Inativo = 0 AND e.Excluido = 0" + " AND e.IdFuncionario IS NOT NULL" + " GROUP BY f.Nome" + " ORDER BY f.Nome"; try { PizzaByteContexto contexto = new PizzaByteContexto(); retornoDto.ListaTotais = contexto.Database.SqlQuery <TotalPorProfissional>(query, listaFiltros.ToArray()).ToList(); retornoDto.Retorno = true; retornoDto.Mensagem = "Ok"; return(true); } catch (Exception ex) { retornoDto.Retorno = false; retornoDto.Mensagem = "Falha ao obter os dados: " + ex.Message; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterTotalEntregaPorProfissional, Guid.Empty, mensagemErro); return(false); } }
/// <summary> /// Obtem os dados necessários para popular a tela de caixa /// </summary> /// <param name="requisicaoDto"></param> /// <param name="retornoDto"></param> /// <returns></returns> public bool ObterFormasPagamentoDia(RequisicaoDataDto requisicaoDto, ref RetornoObterResumoCaixaDto retornoDto) { string mensagemErro = ""; if (!UtilitarioBll.ValidarIdentificacao(requisicaoDto.Identificacao, requisicaoDto.IdUsuario, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterInformacoesDashboard, Guid.Empty, mensagemErro); return(false); } List <SqlParameter> listaFiltros = new List <SqlParameter>(); string query = "SELECT CAST(ISNULL(SUM(RecebidoDinheiro), 0) AS float) AS RecebidoDinheiro," + " CAST(ISNULL(SUM(RecebidoCredito), 0) AS float) AS RecebidoCredito," + " CAST(ISNULL(SUM(RecebidoDebito), 0) AS float) AS RecebidoDebito," + " CAST(ISNULL(SUM(Troco), 0) AS float) AS Troco," + " CAST(ISNULL(SUM(TaxaEntrega), 0) AS float) AS TaxaEntrega" + " FROM PizzaByte.Pedidos" + " WHERE CAST(DataInclusao AS Date) = @dataCaixa AND Inativo = 0 AND Excluido = 0"; listaFiltros.Add(new SqlParameter("dataCaixa", requisicaoDto.Data.Date)); try { PizzaByteContexto contexto = new PizzaByteContexto(); retornoDto = contexto.Database.SqlQuery <RetornoObterResumoCaixaDto>(query, listaFiltros.ToArray()).FirstOrDefault(); retornoDto.TotalVendas = (retornoDto.RecebidoDinheiro - retornoDto.Troco) + retornoDto.RecebidoCredito + retornoDto.RecebidoDebito; retornoDto.Retorno = true; retornoDto.Mensagem = "Ok"; return(true); } catch (Exception ex) { retornoDto.Retorno = false; retornoDto.Mensagem = "Falha ao obter os dados: " + ex.Message; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterInformacoesDashboard, Guid.Empty, mensagemErro); return(false); } }
/// <summary> /// Iniciar com um contexto existente, indicando se deve ou não salvar as alterações /// </summary> /// <param name="contexto"></param> /// <param name="salvarAlteracoes"></param> public ClienteEnderecoBll(PizzaByteContexto contexto, bool salvarAlteracoes) : base(logBll, contexto) { salvar = salvarAlteracoes; }
/// <summary> /// Iniciar com um contexto existente, indicando se deve ou não salvar as alterações /// </summary> /// <param name="contexto"></param> /// <param name="salvarAlteracoes"></param> public CepBll(PizzaByteContexto contexto, bool salvarAlteracoes) : base(logBll, contexto) { salvar = salvarAlteracoes; }
/// <summary> /// Iniciar com um contexto existente, indicando se deve ou não salvar as alterações /// </summary> /// <param name="contexto"></param> /// <param name="salvarAlteracoes"></param> public PedidoEntregaBll(PizzaByteContexto contexto, bool salvarAlteracoes) : base(logBll, contexto) { salvar = salvarAlteracoes; }
/// <summary> /// Executa o backup do sistema e retorna um arquivo .sql /// </summary> /// <param name="requisicaoDto"></param> /// <param name="retornoDto"></param> /// <returns></returns> public bool FazerBackupSistema(BaseRequisicaoDto requisicaoDto, ref RetornoObterArquivoDto retornoDto) { string mensagemErro = ""; if (!UtilitarioBll.ValidarIdentificacao(requisicaoDto.Identificacao, requisicaoDto.IdUsuario, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.BaseIncluir, Guid.Empty, mensagemErro); return(false); } PizzaByteContexto context = new PizzaByteContexto(); try { StringBuilder deletes = new StringBuilder(string.Empty); StringBuilder inserts = new StringBuilder(string.Empty); StringBuilder insertsFk = new StringBuilder(string.Empty); ScriptingOptions scriptOptions = new ScriptingOptions(); SqlConnection conn = new SqlConnection(context.Database.Connection.ConnectionString); Server srv1 = new Server(new ServerConnection(conn)); Database db1 = srv1.Databases[context.Database.Connection.Database]; deletes.AppendLine("Use " + context.Database.Connection.Database); deletes.AppendLine("GO "); deletes.AppendLine("BEGIN TRY "); deletes.AppendLine("BEGIN TRANSACTION "); List <string> tabelasComChaveEstrangeira = new List <string>(); Scripter scr = new Scripter(srv1); foreach (Table table in db1.Tables) { for (int i = 0; i < table.ForeignKeys.Count; i++) { if (!tabelasComChaveEstrangeira.Contains(table.ForeignKeys[i].ReferencedTable)) { if (table.ForeignKeys[i].ReferencedTable == "Pedidos") { tabelasComChaveEstrangeira.Insert(0, table.ForeignKeys[i].ReferencedTable); } else { tabelasComChaveEstrangeira.Add(table.ForeignKeys[i].ReferencedTable); } } } } // Tabelas que não fazer a fk de outras tabelas foreach (Table table in db1.Tables) { if (table.Name != "__MigrationHistory" && !tabelasComChaveEstrangeira.Contains(table.Name)) { ScriptingOptions options = new ScriptingOptions(); options.DriAll = false; options.ScriptSchema = false; options.ScriptData = true; scr.Options = options; deletes.AppendLine("DELETE FROM [PizzaByte].[" + table.Name + "]"); // Add script to file content foreach (string scriptLine in scr.EnumScript(new Urn[] { table.Urn })) { string line = scriptLine; line = line.Replace("SET ANSI_NULLS ON", string.Empty); line = line.Replace("SET QUOTED_IDENTIFIER ON", string.Empty); line = line.Replace("SET ANSI_NULLS OFF", string.Empty); line = line.Replace("SET QUOTED_IDENTIFIER OFF", string.Empty); inserts.AppendLine(line.Trim()); } } } deletes.AppendLine("DELETE FROM [PizzaByte].[Pedidos]"); // Depois as tabelas que são fk foreach (Table table in db1.Tables) { if (table.Name != "__MigrationHistory" && tabelasComChaveEstrangeira.Contains(table.Name)) { ScriptingOptions options = new ScriptingOptions(); options.DriAll = false; options.ScriptSchema = false; options.ScriptData = true; scr.Options = options; if (table.Name != "Pedidos") { deletes.AppendLine("DELETE FROM [PizzaByte].[" + table.Name + "]"); } // Add script to file content foreach (string scriptLine in scr.EnumScript(new Urn[] { table.Urn })) { string line = scriptLine; line = line.Replace("SET ANSI_NULLS ON", string.Empty); line = line.Replace("SET QUOTED_IDENTIFIER ON", string.Empty); line = line.Replace("SET ANSI_NULLS OFF", string.Empty); line = line.Replace("SET QUOTED_IDENTIFIER OFF", string.Empty); insertsFk.AppendLine(line.Trim()); } } } deletes.Append(insertsFk.ToString()); deletes.Append(inserts.ToString()); deletes.AppendLine("COMMIT TRAN "); deletes.AppendLine("END TRY "); deletes.AppendLine("BEGIN CATCH "); deletes.AppendLine("ROLLBACK TRAN "); deletes.AppendLine("END CATCH "); string backupCriptografado = ""; if (!UtilitarioBll.CriptografarString(deletes.ToString(), ref backupCriptografado)) { retornoDto.Retorno = false; retornoDto.Mensagem = "Erro ao criptografar o backup"; logBll.ResgistrarLog(requisicaoDto, LogRecursos.Backup, Guid.Empty, retornoDto.Mensagem); return(false); } byte[] bytes = Encoding.UTF8.GetBytes(backupCriptografado); string base64 = Convert.ToBase64String(bytes); retornoDto.ArquivoBase64 = base64; return(true); } catch (Exception ex) { retornoDto.Retorno = false; retornoDto.Mensagem = "Erro ao executar o backup: " + ex.Message; logBll.ResgistrarLog(requisicaoDto, LogRecursos.Backup, Guid.Empty, retornoDto.Mensagem); return(false); } }
/// <summary> /// Iniciar com um contexto existente, indicando se deve ou não salvar as alterações /// </summary> /// <param name="contexto"></param> /// <param name="salvarAlteracoes"></param> public MovimentoCaixaBll(PizzaByteContexto contexto, bool salvarAlteracoes) : base(logBll, contexto) { salvar = salvarAlteracoes; }
/// <summary> /// Iniciar com um contexto existente, indicando se deve ou não salvar as alterações /// </summary> /// <param name="contexto"></param> /// <param name="salvarAlteracoes"></param> public FuncionarioBll(PizzaByteContexto contexto, bool salvarAlteracoes) : base(logBll, contexto) { salvar = salvarAlteracoes; }
/// <summary> /// Construtor que iniciar o contexto /// </summary> /// <param name="contextoExistente"></param> public BaseBll(LogBll log, PizzaByteContexto contextoExistente) { logBll = log; pizzaByteContexto = contextoExistente; }
/// <summary> /// Construtor que iniciar o contexto /// </summary> public BaseBll(LogBll log) { logBll = log; pizzaByteContexto = new PizzaByteContexto(); }
public override void Up() { PizzaByteContexto contexto = new PizzaByteContexto(); if (!contexto.Database.Exists()) { Sql("CREATE DATABASE PizzariaNacoes COLLATE COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI"); } CreateTable( "PizzaByte.Ceps", c => new { Id = c.Guid(nullable: false), Logradouro = c.String(nullable: false, maxLength: 150, unicode: false), Cidade = c.String(nullable: false, maxLength: 50, unicode: false), Bairro = c.String(nullable: false, maxLength: 50, unicode: false), Cep = c.String(nullable: false, maxLength: 8, unicode: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.Id, unique: true) .Index(t => t.Cep, unique: true); CreateTable( "PizzaByte.Clientes", c => new { Id = c.Guid(nullable: false), Nome = c.String(nullable: false, maxLength: 150, unicode: false), Telefone = c.String(maxLength: 20, unicode: false), Cpf = c.String(maxLength: 11, unicode: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Inativo = c.Boolean(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.Id, unique: true) .Index(t => t.Nome, name: "ix_Nome_Cliente"); CreateTable( "PizzaByte.ClientesEnderecos", c => new { Id = c.Guid(nullable: false), NumeroEndereco = c.String(nullable: false, maxLength: 10, unicode: false), ComplementoEndereco = c.String(maxLength: 50, unicode: false), IdCliente = c.Guid(nullable: false), IdCep = c.Guid(nullable: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Inativo = c.Boolean(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .ForeignKey("PizzaByte.Clientes", t => t.IdCliente, cascadeDelete: true) .ForeignKey("PizzaByte.Ceps", t => t.IdCep, cascadeDelete: true) .Index(t => t.IdCliente, name: "IX_Cliente_Endereco") .Index(t => t.IdCep); CreateTable( "PizzaByte.ContaPagar", c => new { Id = c.Guid(nullable: false), DataPagamento = c.DateTime(storeType: "date"), IdFornecedor = c.Guid(), DataVencimento = c.DateTime(nullable: false, storeType: "date"), Descricao = c.String(nullable: false, maxLength: 200, unicode: false), Valor = c.Single(nullable: false), DataCompetencia = c.DateTime(nullable: false, storeType: "date"), Status = c.Int(nullable: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.Descricao, name: "ix_Nome_ContaPagar"); CreateTable( "PizzaByte.ContaReceber", c => new { Id = c.Guid(nullable: false), IdPedido = c.Guid(), DataVencimento = c.DateTime(nullable: false, storeType: "date"), Descricao = c.String(nullable: false, maxLength: 200, unicode: false), Valor = c.Single(nullable: false), DataCompetencia = c.DateTime(nullable: false, storeType: "date"), Status = c.Int(nullable: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.Descricao, name: "ix_Nome_ContaReceber"); CreateTable( "PizzaByte.Fornecedores", c => new { Id = c.Guid(nullable: false), NomeFantasia = c.String(nullable: false, maxLength: 150, unicode: false), RazaoSocial = c.String(maxLength: 150, unicode: false), Telefone = c.String(maxLength: 20, unicode: false), Cnpj = c.String(maxLength: 14, unicode: false), NumeroEndereco = c.String(maxLength: 10, unicode: false), ComplementoEndereco = c.String(maxLength: 50, unicode: false), Obs = c.String(maxLength: 2000, unicode: false), IdCep = c.Guid(), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Inativo = c.Boolean(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .ForeignKey("PizzaByte.Ceps", t => t.IdCep) .Index(t => t.NomeFantasia, name: "ix_NomeFantasia_Usuario") .Index(t => t.Cnpj) .Index(t => t.IdCep); CreateTable( "PizzaByte.Funcionarios", c => new { Id = c.Guid(nullable: false), Nome = c.String(nullable: false, maxLength: 150, unicode: false), Telefone = c.String(maxLength: 20, unicode: false), Tipo = c.Int(nullable: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Inativo = c.Boolean(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.Nome, name: "ix_Nome_Funcionario"); CreateTable( "PizzaByte.Log", c => new { Id = c.Guid(nullable: false), Recurso = c.Int(nullable: false), IdUsuario = c.Guid(nullable: false), IdEntidade = c.Guid(nullable: false), Mensagem = c.String(nullable: false, maxLength: 8000, unicode: false), DataInclusao = c.DateTime(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.Recurso, name: "ix_Recurso_Log"); CreateTable( "PizzaByte.MovimentosCaixa", c => new { Id = c.Guid(nullable: false), Justificativa = c.String(nullable: false, maxLength: 8000, unicode: false), Valor = c.Single(nullable: false), DataInclusao = c.DateTime(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.DataInclusao, name: "ix_Data_MovimentoCaixa"); CreateTable( "PizzaByte.Pedidos", c => new { Id = c.Guid(nullable: false), Tipo = c.Int(nullable: false), Total = c.Single(nullable: false), Troco = c.Single(nullable: false), TaxaEntrega = c.Single(nullable: false), RecebidoDinheiro = c.Single(nullable: false), RecebidoCredito = c.Single(nullable: false), RecebidoDebito = c.Single(nullable: false), Obs = c.String(maxLength: 2000, unicode: false), PedidoIfood = c.Boolean(nullable: false), JustificativaCancelamento = c.String(maxLength: 100, unicode: false), IdCliente = c.Guid(), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Inativo = c.Boolean(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .ForeignKey("PizzaByte.Clientes", t => t.IdCliente) .Index(t => t.IdCliente, name: "ix_IdCliente_Pedido"); CreateTable( "PizzaByte.PedidosEntregas", c => new { Id = c.Guid(nullable: false), Conferido = c.Boolean(nullable: false), ValorRetorno = c.Single(nullable: false), Obs = c.String(maxLength: 2000, unicode: false), IdEndereco = c.Guid(nullable: false), IdFuncionario = c.Guid(), IdPedido = c.Guid(nullable: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Inativo = c.Boolean(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .ForeignKey("PizzaByte.ClientesEnderecos", t => t.IdEndereco, cascadeDelete: true) .ForeignKey("PizzaByte.Funcionarios", t => t.IdFuncionario) .ForeignKey("PizzaByte.Pedidos", t => t.IdPedido, cascadeDelete: true) .Index(t => t.IdEndereco, name: "ix_IdEndereco_Entrega") .Index(t => t.IdFuncionario) .Index(t => t.IdPedido, name: "ix_IdPedido_Entrega"); CreateTable( "PizzaByte.PedidosItens", c => new { Id = c.Guid(nullable: false), DescricaoProduto = c.String(nullable: false, maxLength: 300, unicode: false), PrecoProduto = c.Single(nullable: false), TipoProduto = c.Int(nullable: false), Quantidade = c.Single(nullable: false), IdProdutoComposto = c.Guid(), IdProduto = c.Guid(nullable: false), IdPedido = c.Guid(nullable: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Inativo = c.Boolean(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .ForeignKey("PizzaByte.Pedidos", t => t.IdPedido, cascadeDelete: true) .ForeignKey("PizzaByte.Produtos", t => t.IdProduto, cascadeDelete: true) .ForeignKey("PizzaByte.Produtos", t => t.IdProdutoComposto) .Index(t => t.IdProdutoComposto) .Index(t => t.IdProduto) .Index(t => t.IdPedido, name: "ix_IdPedido_Item"); CreateTable( "PizzaByte.Produtos", c => new { Id = c.Guid(nullable: false), Descricao = c.String(nullable: false, maxLength: 150, unicode: false), Preco = c.Single(nullable: false), Detalhes = c.String(maxLength: 200, unicode: false), Tipo = c.Int(nullable: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Inativo = c.Boolean(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.Id, unique: true, name: "IX_Produto_Id") .Index(t => t.Descricao, unique: true, name: "IX_Produto_Descricao"); Sql("INSERT INTO PizzaByte.Produtos(Id, Descricao, Preco, Tipo, DataInclusao, DataAlteracao, Inativo, Excluido) " + "Values('E6219299-E232-43C8-B07E-C7B1CAD8C19D', 'Brinde da promoção (seg-qui)', 0, 2, GETDATE(), NULL, 0, 0)"); CreateTable( "PizzaByte.Suporte", c => new { Id = c.Guid(nullable: false), Mensagem = c.String(nullable: false, maxLength: 500, unicode: false), Tipo = c.Int(nullable: false), DataInclusao = c.DateTime(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id); CreateTable( "PizzaByte.TaxasEntrega", c => new { Id = c.Guid(nullable: false), BairroCidade = c.String(nullable: false, maxLength: 101, unicode: false), ValorTaxa = c.Single(nullable: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.BairroCidade, unique: true, name: "IX_Bairro_TaxaEntrega"); CreateTable( "PizzaByte.Usuarios", c => new { Id = c.Guid(nullable: false), Nome = c.String(nullable: false, maxLength: 150, unicode: false), Email = c.String(nullable: false, maxLength: 100, unicode: false), Senha = c.String(nullable: false, maxLength: 50, unicode: false), Administrador = c.Boolean(nullable: false), DataInclusao = c.DateTime(nullable: false), DataAlteracao = c.DateTime(), Inativo = c.Boolean(nullable: false), Excluido = c.Boolean(nullable: false), }) .PrimaryKey(t => t.Id) .Index(t => t.Email, unique: true, name: "IX_Email_Usuario"); }