示例#1
0
    //public static int GetRowsAffected(string sql)
    //{
    //    //FileLogger.LogText(Utils.GetJsonString(sql));
    //    OracleConnection conn = new OracleConnection(ConnectionString);
    //    OracleCommand cmd = new OracleCommand(sql, conn);
    //    int count = 0;
    //    try
    //    {
    //        conn.Open();
    //        count = cmd.ExecuteNonQuery();
    //    }
    //    catch (Exception exc)
    //    {
    //        DbLogger.LogException(exc, sql);
    //        count = -1;
    //        conn.Close();
    //        throw exc;
    //    }
    //    finally
    //    {
    //        conn.Close();
    //    }
    //    return count;
    //}

    public static int GetRowsAffected(OracleCommand cmd)
    {
        //FileLogger.LogText(cmd.CommandText);
        OracleConnection conn = new OracleConnection(ConnectionString);

        cmd.Connection = conn;
        int count = 0;

        try
        {
            conn.Open();
            count = cmd.ExecuteNonQuery();
        }
        catch (Exception exc)
        {
            DbLogger.LogException(exc, cmd.CommandText);
            count = -1;
            conn.Close();
            throw exc;
        }
        finally
        {
            conn.Close();
        }
        return(count);
    }
示例#2
0
    public static DataTable GetData(OracleCommand cmd)
    {
        DataTable        dt   = new DataTable();
        OracleConnection conn = new OracleConnection(ConnectionString);

        cmd.Connection = conn;
        OracleDataAdapter da = new OracleDataAdapter(cmd);

        try
        {
            conn.Open();
            da.Fill(dt);
        }
        catch (Exception exc)
        {
            DbLogger.LogException(exc, cmd.CommandText);
            conn.Close();
            throw exc;
        }
        finally
        {
            conn.Close();
        }
        return(dt);
    }
        public static string GetSignature(string signKey, string timespan, string nonce, string data)
        {
            string signToken = string.Empty;
            var    result    = GetToken <JObject>();

            if (result != null)
            {
                if (result["code"].ToString() == "200")
                {
                    var tokena = JsonConvert.DeserializeObject <JObject>(result["result"].ToString());
                    if (tokena != null)
                    {
                        signToken = tokena["signToken"].ToString();
                    }
                }
            }

            var    hash = MD5.Create();
            string str  = signKey + timespan + nonce + signToken + data;

            byte[] bytes = Encoding.UTF8.GetBytes(string.Concat(str.OrderBy(c => c)));
            DbLogger.LogWriteMessage("str内容:" + string.Concat(str.OrderBy(c => c)));
            //使用MD5加密
            var md5Val = hash.ComputeHash(bytes);
            //把二进制转化为大写的十六进制
            StringBuilder strSign = new StringBuilder();

            foreach (var val in md5Val)
            {
                strSign.Append(val.ToString("X2"));
            }
            return(strSign.ToString());
        }
示例#4
0
        private void CommitChangesHandler(object source, System.Timers.ElapsedEventArgs e)
        {
            try
            {
                _timer.Stop();
                while (_dirty[ACTIVE_BUFFER].Count() > 0)
                {
                    var oldBuffer = _dirty[ACTIVE_BUFFER];
                    lock (oldBuffer)
                    {
                        // Swap to the other buffer
                        ACTIVE_BUFFER = ACTIVE_BUFFER == BUFFER_0 ? BUFFER_1 : BUFFER_0;
                    }

                    foreach (var kp in oldBuffer)
                    {
                        _storage.SetData(kp.Key, kp.Value);
                    }

                    oldBuffer.Clear();
                }
            }
            catch (EmptyCommitException)
            {
                // Do nothing
            }
            catch (Exception ex)
            {
                DbLogger.Error(ex, "Failed to commit changes to disk");
            }
            finally
            {
                _timer.Start();
            }
        }
示例#5
0
        ///<summary>This method creates an instance of the DbLogger class.</summary>
        ///<param name="connectionName">The name of the connection used for the Database Logger.</param>
        ///<returns>Returns an instance of the DbLogger class.</returns>
        public static DbLogger GetDbLogger(string connectionName)
        {
            DbLogger log;

            try
            {
                DbSettings settings = _Config.DbSettings;
                if (settings != null)
                {
                    Connection conn = settings.Connection.Find(x => x.Name == connectionName);
                    if (conn != null)
                    {
                        log = new DbLogger(DbConnection.GetConnectionString(conn));
                    }
                    else
                    {
                        throw new Exception("The parameters for the connection in the file were not found.");
                    }
                }
                else
                {
                    throw new Exception("Invalid scheme -> DbSettings not found.");
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            return(log);
        }
示例#6
0
        public static bool Validate(string signId, string timespan, string nonce, string token, string data, string signature)
        {
            string strsign = signId + timespan + nonce + token + data;
            //创建MD5加密实例
            var md5 = MD5.Create();

            byte[] bytes = Encoding.UTF8.GetBytes(string.Concat(strsign.OrderBy(c => c)));
            //使用MD5加密
            var md5val = md5.ComputeHash(bytes);
            //把二进制转化为大写的十六进制
            StringBuilder result = new StringBuilder();

            foreach (var c in md5val)
            {
                result.Append(c.ToString("X2"));
            }
            try
            {
                DbLogger.LogWriteMessage("new:" + result.ToString().ToUpper() + " compare:" + signature);
            }
            catch
            {
            }
            return(result.ToString().ToUpper() == signature);
        }
        public ActionResult Copy([Bind(Include = "Id,Apelido,Descricao,UnidadeId,TipoId,ClasseCustoId,CategoriaId,FamiliaId,LinhaId,GrupoRateioId,PesoLiquido,Ativo,Ipi,QtdUnid,DominioId,TipoProdId,PcpId,QtUnPorUnArmz,PesoLiquidoCalc,ItemStru,CustODirTotal,CstMatUltmEtapa,CstMatEtapa1,CstMatEtapa2,CstMatEtapa3,CstTotMaterial,CustoDirMod,HorasModUltmEtapa,HorasModEtapa1,HorasModEtapa2,HorasModTotal,CapProdHora,LoteMinimo,UsoStru,CustoDir,RelModCstDir,PctMatEtapaFinal,PctMatEtapa1,PctMatEtapa2,PctMatEtapa3,Input,CustoFixoTotal,MoiFabricacao,OutrosCustosFab,ComacsComtexFpv,CustoFixoAdminFpv,RsMoiDespFabHMod,RsSgNAHMod,CustoFixoTotalAnr,MoiFabricAnr,OutrosCustosFabricAnr,CustoFixoComacsCmtexAnr,CustoFixoAdminAnr,MedidaFitaId,DescricaoUnidade,Acoes,EventosAGVendasHistorico,Acao,Codigo")] Produto produto)
        {
            if (ModelState.IsValid)
            {
                var duplicado = db.Produtos.SingleOrDefault(p => p.Apelido == produto.Apelido);

                if (duplicado != null)
                {
                    DbLogger.Log(Reason.Info, $"Tentativa de duplicar Produto {produto.Apelido} sem sucesso.");
                    return(Content($"Produto {produto.Apelido} já existe no cadastro e portanto não pode ser duplicado."));
                }

                produto.Ipi         = produto.Ipi / 100;
                produto.PctPtfePeso = produto.PctPtfePeso / 100;
                db.Produtos.Add(produto);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            produto.PctPtfePeso   = produto.PctPtfePeso * 100;
            ViewBag.CategoriaId   = new SelectList(db.Categorias, "CategoriaId", "Apelido", produto.CategoriaId);
            ViewBag.ClasseCustoId = new SelectList(db.ClassesCusto, "ClasseCustoId", "Apelido", produto.ClasseCustoId);
            ViewBag.DominioId     = new SelectList(db.Dominios, "DominioId", "Descricao", produto.DominioId);
            ViewBag.FamiliaId     = new SelectList(db.Familias, "FamiliaId", "Apelido", produto.FamiliaId);
            ViewBag.GrupoRateioId = new SelectList(db.GruposRateio, "GrupoRateioId", "Descricao", produto.GrupoRateioId);
            ViewBag.LinhaId       = new SelectList(db.Linhas, "LinhaId", "Apelido", produto.LinhaId);
            ViewBag.MedidaFitaId  = new SelectList(db.MedidaFitas, "MedidaFitaId", "Apelido", produto.MedidaFitaId);
            ViewBag.TipoId        = new SelectList(db.Tipos, "TipoId", "Apelido", produto.TipoId);
            ViewBag.UnidadeId     = new SelectList(db.Unidades, "UnidadeId", "Apelido", produto.UnidadeId);
            return(View(produto));
        }
示例#8
0
        private ILogger CreateLoggerInternal(string categoryName)
        {
            ILogger logger = null;

            var loggerType = categoryName.GetValueFromDescription <LoggerType>();

            switch (loggerType)
            {
            case LoggerType.DbLogger:
            {
                logger = new DbLogger(this._settings.ConnectionString);
            }
            break;

            case LoggerType.FileLogger:
            {
                logger = new FileLogger(this._settings.FilePath, this._settings.MaximumFileSize);
            }
            break;

            case LoggerType.Unknown:
            default:
            {
                logger = _loggerBase;
            }
            break;
            }

            return(logger);
        }
示例#9
0
        public ActionResult FatHist(HttpPostedFileBase file)
        {
            try
            {
                if (file.ContentLength > 0)
                {
                    string path = Path.Combine(Server.MapPath("~/UploadedFiles"), file.FileName);
                    file.SaveAs(path);
                    Populate.FatHist(path);
                    System.IO.File.Delete(path);
                    var memoria = db.Memorias.First();
                    memoria.AtualizacaoFatHistorico = DateTime.Now;
                    db.SaveChanges();
                }

                ViewBag.UltimaAtualizacao = db.Memorias.First().AtualizacaoFatHistorico;
                ViewBag.Message           = Global.AtualizacaoOk;
                ViewBag.retorno           = "FatHist";
                return(View("UploadFile"));
            }
            catch (Exception ex)
            {
                DbLogger.Log(Reason.Error, $"Upload.FatHist: {ex.Message}");
                ViewBag.UltimaAtualizacao = db.Memorias.First().AtualizacaoFatHistorico;
                ViewBag.Message           = "Ocorreu um erro. Tente novamente ou consulte a log do sistema.";
                ViewBag.retorno           = "FatHist";
                return(View("UploadFile"));
            }
        }
示例#10
0
        public ActionResult Search(int?page, string search)
        {
            string memoria;

            if (search == null)
            {
                memoria = (string)Session["Estrutura"];
            }
            else
            {
                memoria = search;
                Session["Estrutura"] = search;
            }

            var model = db.Estruturas
                        .Include(e => e.Categoria)
                        .Include(e => e.Familia)
                        .Include(e => e.Linha)
                        .Include(e => e.Produto)
                        .Include(e => e.Sequencia)
                        .OrderBy(e => e.Produto.Apelido);

            if (model == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pela estrutura {search} não produziu resultado em Estruturas");
                return(Content($"Item {search} não encontrado"));
            }

            var pageNumber     = page ?? 1;
            var onePageHistory = model.ToPagedList(pageNumber, 3);

            ViewBag.OnePageHistory = onePageHistory;

            return(View());
        }
        public ActionResult Copy([Bind(Include = "InsumoId,Apelido,Descricao,UnidadeId,UnidadeConsumoId,TipoId,ClasseCustoId,CategoriaId,FamiliaId,LinhaId,Peso,Cotacao,PrecoUsd,PrecoRs,Icms,Ipi,Pis,Cofins,DespExtra,DespImport,Ativo,FinalidadeId,QtdUnddConsumo,QtdMltplCompra,FormaPgto,Prazo1,Prazo2,PctPgto1,ImportPzPagDesp,PrcBrtCompra,CrdtIcms,CrdtIpi,CrdtPis,CrdtCofins,SumCrdImpostos,DspImportacao,CustoExtra,Custo,CustoUndCnsm,PgtFornecImp,UsoStru")] Insumo insumo)
        {
            if (ModelState.IsValid)
            {
                var duplicado = db.Insumos.SingleOrDefault(p => p.Apelido == insumo.Apelido);
                if (duplicado != null)
                {
                    DbLogger.Log(Reason.Info, $"Tentativa de duplicar Insumo {insumo.Apelido} sem sucesso.");
                    return(Content($"Insumo {insumo.Apelido} já existe no cadastro e portanto não pode ser duplicado."));
                }


                insumo.Icms     = insumo.Icms / 100;
                insumo.Ipi      = insumo.Ipi / 100;
                insumo.Pis      = insumo.Pis / 100;
                insumo.Cofins   = insumo.Cofins / 100;
                insumo.PctPgto1 = insumo.PctPgto1 / 100;

                db.Insumos.Add(insumo);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            ViewBag.CategoriaId   = new SelectList(db.Categorias, "CategoriaId", "Apelido", insumo.CategoriaId);
            ViewBag.ClasseCustoId = new SelectList(db.ClassesCusto, "ClasseCustoId", "Apelido", insumo.ClasseCustoId);
            ViewBag.FamiliaId     = new SelectList(db.Familias, "FamiliaId", "Apelido", insumo.FamiliaId);
            ViewBag.FinalidadeId  = new SelectList(db.Finalidades, "FinalidadeId", "Descricao", insumo.FinalidadeId);
            ViewBag.LinhaId       = new SelectList(db.Linhas, "LinhaId", "Apelido", insumo.LinhaId);
            ViewBag.TipoId        = new SelectList(db.Tipos, "TipoId", "Apelido", insumo.TipoId);
            ViewBag.UnddId        = new SelectList(db.Unidades, "UnidadeId", "Apelido", insumo.UnidadeId);
            ViewBag.UndConsId     = new SelectList(db.Unidades, "UnidadeId", "Apelido", insumo.UnidadeConsumoId);

            return(View(insumo));
        }
示例#12
0
        public static int UnidadeCompraId(Estrutura register)      // H
        {
            int result;

            using (var db = new ApplicationDbContext())
            {
                string unidadeNaoInformada = XmlReader.Read("UnidadeNaoInformada");
                string sequenciaE1         = XmlReader.Read("SequenciaE1").Substring(0, 1);
                string unidadeHora         = XmlReader.Read("UnidadeHora");
                string unidade             = XmlReader.Read("UnidadeUnidade");
                result = db.Unidades.Single(u => u.Descricao == unidadeNaoInformada).UnidadeId;

                if (register.Sequencia.Descricao != "")
                {
                    if (register.TpItmCst == XmlReader.Read("Insumos"))
                    {
                        var insumo = db.Insumos.SingleOrDefault(i => i.Apelido == register.Item);
                        if (insumo == null)
                        {
                            DbLogger.Log(Reason.Error, $"Procura por insumo {register.Item} com erro em FxEstrutura.UnidadeCompraId");
                        }
                        else
                        {
                            result = insumo.UnidadeConsumoId;
                        }
                    }

                    else
                    {
                        if (register.TpItmCst == XmlReader.Read("Manufaturado"))
                        {
                            var produto = db.Produtos.SingleOrDefault(p => p.Apelido == register.Item);

                            if (produto == null)
                            {
                                DbLogger.Log(Reason.Error, $"Procura por produto {register.Item} com erro em FxEstrutura.UnidadeCompraId");
                            }
                            else
                            {
                                result = produto.UnidadeId;
                            }
                        }

                        else
                        {
                            if (register.Sequencia.Tipo.Substring(0, 1) == sequenciaE1)
                            {
                                result = db.Unidades.Single(u => u.Descricao == unidadeHora).UnidadeId;
                            }
                            else
                            {
                                result = db.Unidades.Single(u => u.Descricao == unidade).UnidadeId;
                            }
                        }
                    }
                }
            }

            return(result);
        }
示例#13
0
        public void Warn(string msg)
        {
            var textLogger = new TextLogger();
            var dbLogger   = new DbLogger();

            textLogger.Warn(msg);
            dbLogger.Warn(msg);
        }
示例#14
0
        public void DbLogger_DeleteLogRecord()
        {
            var lrRepo   = new Mock <ILogRecordRepository>();
            var dbLogger = new DbLogger(lrRepo.Object);

            dbLogger.DeleteLogRecord(123);
            lrRepo.Verify(l => l.Delete(It.IsAny <long>()), Times.Once);
        }
        public override ILogger Create(string conn)
        {
            var logger = new DbLogger();

            logger.ConnectionString = conn;

            return(logger);
        }
示例#16
0
        private void Initialise(string dbName, string connectionString,
                                int userId = 0, bool enableLogging = true, string applicationName = null)
        {
            DbName           = dbName;
            ConnectionString = connectionString;
            EnableLogging    = enableLogging;

            Logger = new DbLogger(dbName, ConnectionString, userId, applicationName);
        }
示例#17
0
        public static LogData WriteError(LogData data, int debugLevel = DebugLevelConstants.Unknow, string logId = "", int initialDebugLevel = DebugLevelConstants.Medium, bool onlyConsoleOutput = false, bool onlyReturnLogData = false)
        {
            if (Logger == null)
            {
                Logger = new DbLogger(Environment.CurrentDirectory, "CpDF.Factory", logId, initialDebugLevel, onlyConsoleOutput);
            }

            return(Logger.WriteError(data, debugLevel, onlyReturnLogData));
        }
示例#18
0
        public void DbLogger_GetAll()
        {
            var lrRepo       = new Mock <ILogRecordRepository>();
            var expLogRecord = new[] { new LogRecordModel() };

            lrRepo.Setup(l => l.GetAll()).Returns(expLogRecord);

            var dbLogger = new DbLogger(lrRepo.Object);

            dbLogger.GetAllLogRecords().ShouldBe(expLogRecord);
        }
示例#19
0
        public void DbLogger_GetById()
        {
            var lrRepo       = new Mock <ILogRecordRepository>();
            var expLogRecord = new LogRecordModel();

            lrRepo.Setup(l => l.GetById(It.IsAny <long>())).Returns(expLogRecord);

            var dbLogger = new DbLogger(lrRepo.Object);

            dbLogger.GetLogById(123).ShouldBe(expLogRecord);
        }
示例#20
0
        public ActionResult Search(string search)
        {
            var operacao = db.Operacoes.FirstOrDefault(o => o.CodigoOperacao == search);

            if (operacao == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pela operação {search} não produziu resultado");
                return(Content($"Item {search} não encontrado"));
            }

            return(View("Details", operacao));
        }
        public ActionResult Search(string search)
        {
            var cubo = db.CubosEstoque.FirstOrDefault(c => c.Apelido == search);

            if (cubo == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pelo item de cubo de estoque {search} não produziu resultado");
                return(Content($"Item {search} não encontrado"));
            }

            return(View("Details", cubo));
        }
示例#22
0
        public void Add__log_saves_to_database()
        {
            _dbLoggerMock   = new Mock <IDbLogger>();
            _fileLoggerMock = new Mock <IFileLogger>();
            _logService     = new LogService(_dbLoggerMock.Object, _fileLoggerMock.Object, dataContext);

            var dbLogger = new DbLogger(dataContext);

            dbLogger.Add("test", typeof(LogTest));

            Assert.Greater(_logService.GetLogs().Length, 0);
        }
示例#23
0
        public ActionResult Distribuicao()
        {
            var model = db.GruposRateio.SingleOrDefault(g => g.Apelido == "GR0013");

            if (model == null)
            {
                DbLogger.Log(Reason.Error, "GrupoRateioControler.Distribuicao: Não encontrado Apelido = GR0013");
                return(new HttpStatusCodeResult(HttpStatusCode.NoContent));
            }

            return(View(model));
        }
        public ActionResult Search(string search)
        {
            var desps = db.DespesasFixas.FirstOrDefault(d => d.Despesa.Contains(search));

            if (desps == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pelo item de despesa fixa {search} não produziu resultado");
                return(Content($"Item {search} não encontrado"));
            }

            return(View("Details", desps));
        }
示例#25
0
        public ActionResult Search(string search)
        {
            var model = db.PadroesFixos
                        .FirstOrDefault(g => g.Descricao.Contains(search));

            if (model == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pelo padrão fixo {search} não produziu resultado");
                return(Content($"Item {search} não encontrado"));
            }

            return(View("Details", model));
        }
        public ActionResult Search(string search)
        {
            var model = db.Dominios
                        .SingleOrDefault(g => g.Descricao == search);

            if (model == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pelo Domínio {search} não produziu resultado");
                return(Content($"Item {search} não encontrado"));
            }

            return(View("Details", model));
        }
示例#27
0
        public ActionResult Search(string search)
        {
            var planejVenda = db.PlanejVendas
                              .Include(p => p.Produto)
                              .SingleOrDefault(p => p.Produto.Apelido == search);

            if (planejVenda == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pelo produto {search} não produziu resultado em PlanejVenda");
                return(Content($"Item {search} não encontrado"));
            }
            return(View("Details", planejVenda));
        }
示例#28
0
        public ActionResult Search(string search)
        {
            var model = db.TiposCliente
                        .FirstOrDefault(g => g.Codigo.ToString() == search);

            if (model == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pelo Tipo de Cliente {search} não produziu resultado");
                return(Content($"Item {search} não encontrado"));
            }

            return(View("Details", model));
        }
示例#29
0
        public ActionResult Search(string search)
        {
            var model = db.Extrusoras
                        .SingleOrDefault(g => g.Apelido.Contains(search));

            if (model == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pela extrusora {search} não produziu resultado");
                return(Content($"Item {search} não encontrado"));
            }

            return(View("Details", model));
        }
        public ActionResult Search(string search)
        {
            var model = db.DespesasExportacao
                        .SingleOrDefault(g => g.Tipo == search);

            if (model == null)
            {
                DbLogger.Log(Reason.Info, $"Procura pela Despesa Exportação {search} não produziu resultado");
                return(Content($"Item {search} não encontrado"));
            }

            return(View("Details", model));
        }