public void Integration_LogDataContext_LogService_Log_GetLogById_Return_Log()
        {
            Logqso.mvc.Entities.LogDataEntity.Log LogforId1 = null;
            // context object LogDataContext matches the same name used for LogqsoData DB
            using (IDataContextAsync context = new ContestqsoDataContext())
            //IUnitOfWorkDataAsync and UnitOfWorkData are used in order for Dependency Injection to inject the DataDB
            using (IUnitOfWorkAsync unitOfWorkData = new UnitOfWork(context))
            {
                bool caught = false;
                IRepositoryAsync<Log> _logRepository = new Repository<Log>(context, unitOfWorkData);

                var logService = new LogService(_logRepository);
                try
                {
                    var Logtask= logService.GetLogById(LogId);
                    LogforId1 = Logtask.Result;
                  
                }
                catch (Exception ex)
                {
                    TestContext.WriteLine(string.Format("Integration_LogDataContext_LogService_Log_GetLogById_Return_Log exception {0}",ex.Message) );
                    caught = true;
                }
                Assert.IsFalse(caught);  //exception
                Assert.IsNotNull(LogforId1);
                Assert.IsInstanceOfType(LogforId1, typeof(Logqso.mvc.Entities.LogDataEntity.Log));
                Assert.AreEqual(LogId, LogforId1.LogId);
                Assert.IsInstanceOfType(LogforId1.ContestYear, typeof(DateTime));
                Assert.AreEqual( 1,LogforId1.CallsignId );

            }
        }
예제 #2
0
        public  async Task Unit_LogService_Log_ValidLogCallsignID_ReturnLog()
        {
            Logqso.mvc.Entities.LogDataEntity.Log LogforId1 = null;
            //var log = new Log();
            //Guid guid = Guid.NewGuid();
            //log.FindByID(guid);  //need to call this first, ordered dependence!
            //Assert.IsInstanceOfType(log.LogCallsignID, typeof(Guid));
            //Assert.IsInstanceOfType(log.ContestYear, typeof(DateTime));
            //Assert.AreEqual(log.ContestYear.Year, DateTime.Now.Year);

            //Fake eliminates next 3 lines
#if nofake 
           Guid guid = Guid.NewGuid();
           var LogRepository = new LogRepository();
           var logService = new LogService(LogRepository);
#else
            var logService = new LogService(_logRepository);
#endif

            //Logqso.mvc.Entities.LogDataEntity.Log LogEntity = await logService.GetLogById(LogId);
            Task<Logqso.mvc.Entities.LogDataEntity.Log> LogEntitywait = logService.GetLogById(LogId);
            LogforId1 = await LogEntitywait;

            Assert.IsInstanceOfType(LogforId1, typeof(Logqso.mvc.Entities.LogDataEntity.Log));
            Assert.AreEqual(LogforId1.LogId, LogId);
            Assert.IsInstanceOfType(LogforId1.ContestYear, typeof(DateTime));
            Assert.AreEqual( DateTime.Now.Year, LogforId1.ContestYear.Year);
            Assert.AreEqual( 1, LogforId1.CallsignId);

        }
예제 #3
0
        public void Unit_LogService_Log_ValidLogCallsignID_ReturnmLog()
        {
            //var log = new Log();
            //Guid guid = Guid.NewGuid();
            //log.FindByID(guid);  //need to call this first, ordered dependence!
            //Assert.IsInstanceOfType(log.LogCallsignID, typeof(Guid));
            //Assert.IsInstanceOfType(log.ContestYear, typeof(DateTime));
            //Assert.AreEqual(log.ContestYear.Year, DateTime.Now.Year);

            //Fake eliminates next 3 lines
#if nofake 
           Guid guid = Guid.NewGuid();
           var LogRepository = new LogRepository();
           var logService = new LogService(LogRepository);
#else
           var logService = new LogLvsService(_logRepository);
#endif

           Logqso.mvc.Entities.LogDataEntity.Log  LogEntity = logService.GetByID(LogId);
           Assert.IsInstanceOfType(LogEntity, typeof( Logqso.mvc.Entities.LogDataEntity.Log));
           Assert.AreEqual(  LogId, LogEntity.LogId);
           Assert.IsInstanceOfType(LogEntity.ContestYear, typeof(DateTime));
           Assert.AreEqual( DateTime.Now.Year, LogEntity.ContestYear.Year);

        }
예제 #4
0
        public ActionResult Listagem(int? page, DateTime? dataInicioLog, DateTime? dataFimLog, Int32? tipoLog, String loginLog, String ipLog)
        {
            page = page ?? 1;

            var log = new LogService().GetByPage(page.Value, dataInicioLog, dataFimLog, tipoLog, loginLog, ipLog);

            var list = new MvcList<Log>(log.Item1, page.Value, log.Item2, Settings.QuantityRegistersPerPage);
            return PartialView(list);
        }
예제 #5
0
 public ActionResult CampaignSetup()
 {
     LogEntry logEnty = new LogEntry();
     logEnty.ActivityId = Guid.NewGuid();
     logEnty.Message = "Loading";
     Logger.Write(logEnty);
     LogService logService = new LogService();
     logService.AddToLog(1, "Campaign Setup Accessed", "CampaignSetup//CampaignSetup//CampaignSetup", 1);
     var campaignSetupModel = new CampaignSetupModel();
     return View(campaignSetupModel);
 }
        public VisualStudioSymbolSearchService(
            VisualStudioWorkspaceImpl workspace,
            VSShell.SVsServiceProvider serviceProvider)
            : base(workspace, SymbolSearchOptions.Enabled,
                              SymbolSearchOptions.SuggestForTypesInReferenceAssemblies,
                              SymbolSearchOptions.SuggestForTypesInNuGetPackages)
        {
            _workspace = workspace;
            _installerService = workspace.Services.GetService<IPackageInstallerService>();
            _localSettingsDirectory = new ShellSettingsManager(serviceProvider).GetApplicationDataFolder(ApplicationDataFolder.LocalSettings);

            _logService = new LogService((IVsActivityLog)serviceProvider.GetService(typeof(SVsActivityLog)));
        }
예제 #7
0
        public void CreateLog_Does_Not_Create_If_Below_Threshold()
        {
            // Arrange
            var log = new Log()
            {
                Level = LogLevel.Info
            };
            var logRepository = new Mock<ILogRepository>();
            logRepository.Setup(r => r.Save(It.IsAny<Log>())).Verifiable();
            var logService = new LogService(logRepository.Object, LogLevel.Warning);

            // Act
            logService.CreateLog(log);

            // Assert
            logRepository.Verify(l => l.Save(log), Times.Never());
        }
예제 #8
0
    public UsMain(bool LogRemotely, bool LogIntoFile, bool InGameGui)
    {
        Application.runInBackground = true;

        _logServ = new LogService(LogIntoFile, -1, true);

        _test = new utest();

        if (LogRemotely)
        {
            _logServ.LogTargets += LogTarget_Remotely;
        }

        UsNet.Instance = new UsNet(_serverPort);

        UsMain_NetHandlers.Instance = new UsMain_NetHandlers(UsNet.Instance.CmdExecutor);
        UsvConsole.Instance = new UsvConsole();

        GameUtil.Log("on_level loaded.");
        GameInterface.Instance.Init();

        _inGameGui = InGameGui;
    }
        public void Integration_LogDataContext_LogService_Query_Log_Include_LogCategory_Return_LogCategories()
        {
            List<Logqso.mvc.Entities.LogDataEntity.Log> LogforId1s = null;
            // context object LogDataContext matches the same name used for LogqsoData DB
            using (IDataContextAsync context = new ContestqsoDataContext())
            //IUnitOfWorkDataAsync and UnitOfWorkData are used in order for Dependency Injection to inject the DataDB
            using (IUnitOfWorkAsync unitOfWork = new UnitOfWork(context))
            {
                bool caught = false;
                IRepositoryAsync<Log> _logRepository = new Repository<Log>(context, unitOfWork);

                var logService = new LogService(_logRepository);
                try
                {
                    var Logtask = logService.Query(x => x.LogId == 1)
                    .Include(x => x.LogCategory)
                    .Select();

                    LogforId1s = Logtask.ToList();
                }
                catch (Exception ex)
                {
                    TestContext.WriteLine(string.Format("Integration_LogDataContext_LogService_Log_GetLogById_Return_Log exception {0}", ex.Message));
                    caught = true;
                }
                Assert.IsFalse(caught);  //exception
                Assert.IsNotNull(LogforId1s);
                Assert.IsTrue(LogforId1s.Count > 0);
                Assert.IsInstanceOfType(LogforId1s[0], typeof(Logqso.mvc.Entities.LogDataEntity.Log));
                Assert.AreEqual(LogId, LogforId1s[0].LogId );
                Assert.IsInstanceOfType(LogforId1s[0].ContestYear, typeof(DateTime));
                Assert.AreEqual(1, LogforId1s[0].CallsignId );
                Assert.IsNotNull(LogforId1s[0].LogCategory);

            }
        }
        public async Task LogMapInUseUpdateGoodData()
        {
            LogEntries.Clear();

            var startDate = DateTimeOffset.Now.AddMinutes(-(LogService.MapUseTimeout - 1));

            var le = new LogEntry { Date = startDate, SourceUser = TestUsername, Type = LogEventType.MapInUse };
            le.Properties.Add(new LogEntryProperty { PropertyType = LogPropertyType.StartDate, PropertyValue = startDate.ToString("O") });

            LogEntries.Add(le);

            var logEntrySet = CreateMockLogEntrySet();
            var logPropertySet = CreateMockLogPropertySet();
            var context = CreateLoggingContext(logEntrySet.Object, logPropertySet.Object);

            var service = new LogService(context.Object);

            await service.LogMapInUse(TestUsername);

            logEntrySet.Verify(l => l.Add(It.IsAny<LogEntry>()), Times.Never);
            context.Verify(c => c.SaveChangesAsync());

            CheckMapLogEntry(le, TestUsername, startDate);
        }
        private async Task LogIMEIRegistered(string registeringUser, string imei, string callsign, VehicleType type, bool expectSuccess = true)
        {
            var logEntrySet = CreateMockLogEntrySet();
            var logPropertySet = CreateMockLogPropertySet();
            var context = CreateLoggingContext(logEntrySet.Object, logPropertySet.Object);

            var service = new LogService(context.Object);

            await service.LogIMEIRegistered(registeringUser, imei, callsign, type);

            if (expectSuccess)
            {
                logEntrySet.Verify(l => l.Add(It.Is<LogEntry>(le => CheckIMEIRegisteredLogEntry(le, registeringUser, imei, callsign, type))));
                context.Verify(c => c.SaveChangesAsync());
            }
            else
            {
                logEntrySet.Verify(l => l.Add(It.IsAny<LogEntry>()), Times.Never);
                context.Verify(c => c.SaveChangesAsync(), Times.Never);
            }
        }
예제 #12
0
 public override void SendResponse(EndPointOperationCode operationCode, ReturnCode returnCode, string debugMessage, Dictionary <byte, object> parameters)
 {
     LogService.FatalFormat("EndPoint SendResponse UserOperationCode: {0}", operationCode);
 }
예제 #13
0
파일: Program.cs 프로젝트: usshen/win-acme
        /// <summary>
        /// Configure dependency injection
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        internal static IContainer GlobalScope(string[] args)
        {
            var builder = new ContainerBuilder();
            var logger  = new LogService();

            if (args.Contains("--verbose"))
            {
                logger.SetVerbose();
            }
            var versionService   = new VersionService(logger);
            var pluginService    = new PluginService(logger, versionService);
            var argumentsParser  = new ArgumentsParser(logger, pluginService, args);
            var argumentsService = new ArgumentsService(logger, argumentsParser);

            if (!argumentsService.Valid)
            {
                return(null);
            }
            var settingsService = new SettingsService(logger, argumentsService, versionService);

            if (!settingsService.Valid)
            {
                return(null);
            }
            logger.SetDiskLoggingPath(settingsService.Client.LogPath);

            _ = builder.RegisterInstance(argumentsService);
            _ = builder.RegisterInstance(argumentsParser);
            _ = builder.RegisterInstance(versionService);
            _ = builder.RegisterInstance(logger).As <ILogService>();
            _ = builder.RegisterInstance(settingsService).As <ISettingsService>();
            _ = builder.RegisterInstance(argumentsService).As <IArgumentsService>();
            _ = builder.RegisterInstance(pluginService).As <IPluginService>();
            _ = builder.RegisterType <UserRoleService>().As <IUserRoleService>().SingleInstance();
            _ = builder.RegisterType <InputService>().As <IInputService>().SingleInstance();
            _ = builder.RegisterType <ProxyService>().SingleInstance();
            _ = builder.RegisterType <PasswordGenerator>().SingleInstance();
            _ = builder.RegisterType <RenewalStoreDisk>().As <IRenewalStore>().SingleInstance();

            pluginService.Configure(builder);

            _ = builder.RegisterType <DomainParseService>().SingleInstance();
            _ = builder.RegisterType <IISClient>().As <IIISClient>().InstancePerLifetimeScope();
            _ = builder.RegisterType <IISHelper>().SingleInstance();
            _ = builder.RegisterType <ExceptionHandler>().SingleInstance();
            _ = builder.RegisterType <UnattendedResolver>();
            _ = builder.RegisterType <InteractiveResolver>();
            _ = builder.RegisterType <AutofacBuilder>().As <IAutofacBuilder>().SingleInstance();
            _ = builder.RegisterType <AcmeClient>().SingleInstance();
            _ = builder.RegisterType <ZeroSsl>().SingleInstance();
            _ = builder.RegisterType <OrderManager>().SingleInstance();
            _ = builder.RegisterType <PemService>().SingleInstance();
            _ = builder.RegisterType <EmailClient>().SingleInstance();
            _ = builder.RegisterType <ScriptClient>().SingleInstance();
            _ = builder.RegisterType <LookupClientProvider>().SingleInstance();
            _ = builder.RegisterType <CertificateService>().As <ICertificateService>().SingleInstance();
            _ = builder.RegisterType <TaskSchedulerService>().SingleInstance();
            _ = builder.RegisterType <NotificationService>().SingleInstance();
            _ = builder.RegisterType <RenewalExecutor>().SingleInstance();
            _ = builder.RegisterType <RenewalValidator>().SingleInstance();
            _ = builder.RegisterType <RenewalManager>().SingleInstance();
            _ = builder.RegisterType <RenewalCreator>().SingleInstance();
            _ = builder.Register(c => c.Resolve <IArgumentsService>().MainArguments).SingleInstance();

            _ = builder.RegisterType <Wacs>();

            return(builder.Build());
        }
예제 #14
0
        public async Task Invoke(HttpContext httpContext, LogService logService)
        {
            try
            {
                _logService = logService;

                var request = httpContext.Request;
                //if (request.Path.StartsWithSegments(new PathString("/api")))
                //{

                var stopWatch          = Stopwatch.StartNew();
                var requestTime        = DateTime.UtcNow;
                var requestBodyContent = await ReadRequestBodyAsync(request);

                var originalBodyStream = httpContext.Response.Body;
                using (var responseBody = new MemoryStream())
                {
                    var response = httpContext.Response;
                    response.Body = responseBody;
                    await _next(httpContext);

                    stopWatch.Stop();

                    string responseBodyContent = null;
                    responseBodyContent = await ReadResponseBodyAsync(response);

                    await responseBody.CopyToAsync(originalBodyStream);

                    var currentUserId = 0;
                    var deviceId      = request.Query["dId"];

                    try
                    {
                        var uid = httpContext.User.FindFirst(ClaimTypes.PrimarySid);

                        if (uid != null)
                        {
                            currentUserId = int.Parse(uid.Value);
                        }
                    }
                    catch { }

                    await SafeLogAsync(requestTime,
                                       stopWatch.ElapsedMilliseconds,
                                       response.StatusCode,
                                       request.Method,
                                       request.Path,
                                       request.QueryString.ToString(),
                                       requestBodyContent,
                                       responseBodyContent,
                                       currentUserId,
                                       deviceId);
                }
                //}
                //else
                //{
                //    await _next(httpContext);
                //}
            }
            catch (Exception ex)
            {
                var e = ex;
                await _next(httpContext);
            }
        }
예제 #15
0
        private static void Main(string[] args)
        {
            Log = new LogService();
            if (!TryParseOptions(args))
            {
                return;
            }
            if (Options.Verbose)
            {
                Log.SetVerbose();
            }
            Input = new InputService(Options);
            Console.WriteLine();
#if DEBUG
            var build = "DEBUG";
#else
            var build = "RELEASE";
#endif
            Log.Information("Let's Encrypt (Simple Windows ACME Client)");
            Log.Information("Version {version} ({build})", Assembly.GetExecutingAssembly().GetName().Version, build);
            Log.Information(LogService.LogType.Event, "Running LEWS version {version} ({build})", Assembly.GetExecutingAssembly().GetName().Version, build);
            Log.Verbose("Verbose mode logging enabled");
            Log.Information("Please report issues at https://github.com/Lone-Coder/letsencrypt-win-simple");
            Console.WriteLine();

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

            if (Options.Test)
            {
                SetTestParameters();
            }

            if (Options.ForceRenewal)
            {
                Options.Renew = true;
            }

            ParseRenewalPeriod();
            ParseCertificateStore();

            Log.Information("ACME Server: {BaseUri}", Options.BaseUri);

            ParseCentralSslStore();

            CreateSettings();
            CreateConfigPath();

            SetAndCreateCertificatePath();

            bool retry = false;
            do
            {
                try
                {
                    using (var signer = new RS256Signer())
                    {
                        signer.Init();
                        using (_client = new AcmeClient(new Uri(Options.BaseUri), new AcmeServerDirectory(), signer))
                        {
                            ConfigureAcmeClient(_client);

                            if (Options.Renew)
                            {
                                CheckRenewals();
                            }
                            else
                            {
                                List <Target> targets = GetTargets();

                                if (!string.IsNullOrWhiteSpace(Options.Plugin))
                                {
                                    // If there's a plugin in the options, only do ProcessDefaultCommand for the selected plugin
                                    // Plugins that can run automatically should allow for an empty string as menu response to work
                                    ProcessDefaultCommand(targets, string.Empty);
                                }
                                else
                                {
                                    Input.WriteTargets(targets);
                                    PrintMenuForPlugins();
                                    var command = Input.RequestString("Choose from one of the menu options above").ToLowerInvariant();
                                    switch (command)
                                    {
                                    case "q":
                                        return;

                                    default:
                                        ProcessDefaultCommand(targets, command);
                                        break;
                                    }
                                }
                            }
                        }
                        retry = false;
                    }
                }
                catch (AcmeClient.AcmeWebException awe)
                {
                    Environment.ExitCode = awe.HResult;
                    Log.Debug("AcmeWebException {@awe}", awe);
                    Log.Error("ACME Server Returned: {acmeWebExceptionMessage} - Response: {acmeWebExceptionResponse}", awe.Message, awe.Response.ContentAsString);
                }
                catch (AcmeException ae)
                {
                    Environment.ExitCode = ae.HResult;
                    Log.Debug("AcmeException {@ae}", ae);
                    Log.Error("AcmeException {@ae}", ae.Message);
                }
                catch (Exception e)
                {
                    Environment.ExitCode = e.HResult;
                    Log.Debug("Exception {@e}", e);
                    Log.Error("Exception {@e}", e.Message);
                }

                if (!Options.CloseOnFinish && (!Options.Renew || Options.Test))
                {
                    if (Input.PromptYesNo("Would you like to start again?"))
                    {
                        Environment.ExitCode = 0;
                        retry = true;
                    }
                }
            } while (retry);
        }
예제 #16
0
        /*public List<ConsumablesDocumentsDTO> GetOthersInventoryRequestsByRiseId(int pIntRiseId, int pIntInvReqDocEntry)
         * {
         *  return mObjConsumablesDAO.GetOthersInventoryRequestsByRiseId(pIntRiseId, pIntInvReqDocEntry);
         * }*/
        #endregion

        #region Extras
        public List <ConsumablesDocumentsDTO> CalculateConsumedTotals(SAPbouiCOM.DataTable pObjInitialRecordsDataTable
                                                                      , SAPbouiCOM.DataTable pObjPurchaseDataTable
                                                                      , SAPbouiCOM.DataTable pObjFinalsDataTable
                                                                      , SAPbouiCOM.DataTable pObjTotalsDataTable)
        {
            try
            {
                List <ConsumablesDocumentsDTO> lLstTotalsRecords = new List <ConsumablesDocumentsDTO>();

                List <ConsumablesDocumentsDTO> lLstInitialRecords        = InitialRecordsDataTableToDTO(pObjInitialRecordsDataTable);
                List <ConsumablesDocumentsDTO> lLstPurchasesRecordsTemp  = PurchasesDataTableToDTO(pObjPurchaseDataTable);
                List <ConsumablesDocumentsDTO> lLstFinalsRecords         = FinalsRecordsDataTableToDTO(pObjFinalsDataTable);
                List <ConsumablesDocumentsDTO> lLstOriginalTotalsRecords = TotalsRecordsDataTableToDTO(pObjTotalsDataTable);

                List <ConsumablesDocumentsDTO> lLstPurchasesRecords = lLstPurchasesRecordsTemp
                                                                      .GroupBy(p => new { ActiveCode = p.ActivoCode, EcoNum = p.EcoNum, EqType = p.EquipmentType })
                                                                      .Select(g => new ConsumablesDocumentsDTO
                {
                    ActivoCode    = g.Key.ActiveCode,
                    EcoNum        = g.Key.EcoNum,
                    EquipmentType = g.Key.EqType,
                    DieselM       = g.Sum(i => i.DieselM),
                    DieselT       = g.Sum(i => i.DieselT),
                    Gas           = g.Sum(i => i.Gas),
                    F15W40        = g.Sum(i => i.F15W40),
                    Hidraulic     = g.Sum(i => i.Hidraulic),
                    SAE40         = g.Sum(i => i.SAE40),
                    Transmition   = g.Sum(i => i.Transmition),
                    Oils          = g.Sum(i => i.Oils),
                    KmHr          = g.Sum(i => i.KmHr),
                })
                                                                      .ToList();

                var lLstSumList = lLstInitialRecords.Concat(lLstPurchasesRecords)
                                  .GroupBy(p => new { ActiveCode = p.ActivoCode, EcoNum = p.EcoNum, EqType = p.EquipmentType })
                                  .Select(g => new ConsumablesDocumentsDTO
                {
                    ActivoCode    = g.Key.ActiveCode,
                    EcoNum        = g.Key.EcoNum,
                    EquipmentType = g.Key.EqType,
                    DieselM       = g.Sum(i => i.DieselM),
                    DieselT       = g.Sum(i => i.DieselT),
                    Gas           = g.Sum(i => i.Gas),
                    F15W40        = g.Sum(i => i.F15W40),
                    Hidraulic     = g.Sum(i => i.Hidraulic),
                    SAE40         = g.Sum(i => i.SAE40),
                    Transmition   = g.Sum(i => i.Transmition),
                    Oils          = g.Sum(i => i.Oils),
                    KmHr          = g.Sum(i => i.KmHr),
                })
                                  .ToList();

                lLstTotalsRecords = lLstSumList//.Concat(lLstFinalsRecords)
                                    .GroupBy(p => new { ActiveCode = p.ActivoCode, EcoNum = p.EcoNum, EqType = p.EquipmentType })
                                    .Select(g => new ConsumablesDocumentsDTO
                {
                    ActivoCode    = g.Key.ActiveCode,
                    EcoNum        = g.Key.EcoNum,
                    EquipmentType = g.Key.EqType,
                    DieselM       = g.Sum(i => i.DieselM) - (lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode) == null ? 0 : lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode).DieselM),
                    DieselT       = g.Sum(i => i.DieselT) - (lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode) == null ? 0 : lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode).DieselT),
                    Gas           = g.Sum(i => i.Gas) - (lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode) == null ? 0 : lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode).Gas),
                    F15W40        = g.Sum(i => i.F15W40) - (lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode) == null ? 0 : lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode).F15W40),
                    Hidraulic     = g.Sum(i => i.Hidraulic) - (lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode) == null ? 0 : lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode).Hidraulic),
                    SAE40         = g.Sum(i => i.SAE40) - (lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode) == null ? 0 : lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode).SAE40),
                    Transmition   = g.Sum(i => i.Transmition) - (lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode) == null ? 0 : lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode).Transmition),
                    Oils          = g.Sum(i => i.Oils) - (lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode) == null ? 0 : lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode).Oils),
                    KmHr          = (lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode) == null ? 0 : lLstFinalsRecords.FirstOrDefault(x => x.ActivoCode == g.Key.ActiveCode).KmHr) - g.Sum(i => i.KmHr),
                })
                                    .ToList();

                lLstTotalsRecords.ForEach(x => x.Code = (lLstOriginalTotalsRecords.FirstOrDefault(y => y.ActivoCode == x.ActivoCode) == null ? string.Empty : lLstOriginalTotalsRecords.FirstOrDefault(y => y.ActivoCode == x.ActivoCode).Code));

                return(lLstTotalsRecords);
            }
            catch (Exception pObjException)
            {
                LogService.WriteError(string.Format("[ConsumablesService - CalculateConsumedTotals: {0}]", pObjException.Message));
                throw pObjException;
            }
        }
예제 #17
0
 public override void SendEvent(EndPointEventCode eventCode, Dictionary <byte, object> parameters)
 {
     LogService.FatalFormat("EndPoint SendEvent UserEventCode: {0}", eventCode);
 }
예제 #18
0
 public VehicleRepository(IDatabaseContext conn, LogService logService) : base(conn, logService)
 {
 }
예제 #19
0
 public LogController(LogService logService)
 {
     _logService = logService;
 }
예제 #20
0
 public PickemDatabaseLoggerProvider(LogService logService)
 {
     _logService = logService;
 }
예제 #21
0
 public AccountsController(AccountService service, LogService logService, EmailConfiguration emailConfiguration)
 {
     _service            = service;
     _logService         = logService;
     _emailConfiguration = emailConfiguration;
 }
예제 #22
0
        public async Task <JsonResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                IdentityResult result         = new IdentityResult();
                Result         responseResult = new Result()
                {
                    Errors = new List <string>(), Succeeded = false
                };

                try
                {
                    var  user            = UserManager.FindById(model.UserId);
                    var  userByName      = UserManager.FindByName(model.UserName);
                    bool tokenValidation = await UserManager.UserTokenProvider.ValidateAsync("ResetPassword", model.Token, UserManager, user);

                    if (user == null || (DateTime.Now - user.InvitationDate).Days > 2 || !tokenValidation)
                    {
                        responseResult.Errors.Add("Nieprawidłowy token, lub token wygasł.");
                        return(Json(responseResult));
                    }

                    if (userByName != null && user.Id != userByName.Id)
                    {
                        responseResult.Errors.Add("Ten login jest już zajęty. Proszę wybrać inny.");
                        return(Json(responseResult));
                    }

                    user.RegistrationDate  = DateTime.Now;
                    user.ResetPasswordDate = DateTime.Now;
                    user.Status            = StatusEnum.Active;
                    user.UserName          = model.UserName;
                    result = UserManager.Update(user);


                    var group = _db.Groups.FirstOrDefault(x => x.Name == "Wszyscy");

                    if (group != null)
                    {
                        var userInGroup = new ProfileGroup2Person();
                        userInGroup.PersonID       = user.Id;
                        userInGroup.ProfileGroupID = group.ProfileGroupID;
                        _db.PeopleInGroups.Add(userInGroup);
                        _db.SaveChanges();
                    }

                    if (!result.Succeeded)
                    {
                        return(this.Json(result));
                    }

                    var rslt = await Person.ChangePasswordAsync(UserManager, new ResetPasswordViewModel()
                    {
                        Code            = model.Token,
                        Password        = model.Password,
                        ConfirmPassword = model.ConfirmPassword,
                        UserName        = user.UserName
                    }, false);

                    if (!rslt.Succeeded)
                    {
                        return(this.Json(rslt));
                    }

                    LogService.InsertUserLogs(OperationLog.UserRegistration, _db, user.Id, user.Id, user.OrganizationID.HasValue ? user.OrganizationID.Value : 0);

                    await UserManager.UpdateSecurityStampAsync(user.Id);

                    await UserManager.SendEmailAsync(user.Id,
                                                     "Rejestracja Kenpro",
                                                     "Zakończyłeś rejestrację. <br/>Twój login to: " + user.UserName
                                                     + "<br/>Twoja nazwa wyświetlana: " + user.DisplayName
                                                     + "<br/><a href=\"" + Request.Url.Scheme + "://" + Request.Url.Authority + "/signin\">Zaloguj się</a>");
                }
                catch (Exception ex)
                {
                }

                return(this.Json(result));
            }

            return(getErrorsFromModel());
        }
        private async Task LogUserDeleted(string deletingUser, string deletedUser, bool expectSuccess = true)
        {
            var logEntrySet = CreateMockLogEntrySet();
            var logPropertySet = CreateMockLogPropertySet();
            var context = CreateLoggingContext(logEntrySet.Object, logPropertySet.Object);

            var service = new LogService(context.Object);

            await service.LogUserDeleted(deletingUser, deletedUser);

            if (expectSuccess)
            {
                logEntrySet.Verify(l => l.Add(It.Is<LogEntry>(le => CheckUserDeletedLogEntry(le, deletingUser, deletedUser))));
                context.Verify(c => c.SaveChangesAsync());
            }
            else
            {
                logEntrySet.Verify(l => l.Add(It.IsAny<LogEntry>()), Times.Never);
                context.Verify(c => c.SaveChangesAsync(), Times.Never);
            }
        }
예제 #24
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            ILogService <Startup> log = new LogService <Startup>();

            log.Info("ConfigureServices开始");

            //DbContext 连接池 2.0版本

            services.AddDbContextPool <CodeFrameContext>(options => options.UseInMemoryDatabase("mytempdb"));

            // services.AddDbContextPool<CodeFrameContext>(options => options.UseMySql(connection));



            services.AddUnitOfWork <CodeFrameContext>();                       //添加UnitOfWork支持

            foreach (var item in ProjectCom.GetClassName("CodeFrame.Service")) //集中注入服务
            {
                foreach (var typeArray in item.Value)
                {
                    services.AddScoped(typeArray, item.Key);
                }
            }
            services.AddScoped(typeof(ILogService <>), typeof(LogService <>));//注入泛型loger

            //services.AddScoped(typeof(IUserInfoService), typeof(UserInfoService));//用ASP.NET Core自带依赖注入(DI)注入使用的类
            //添加授权支持,并添加使用Cookie的方式,配置登录页面和没有权限时的跳转页面。
            //https://www.cnblogs.com/seriawei/p/7452743.html
            services.AddAuthentication(option =>
            {
                option.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                option.DefaultChallengeScheme    = CookieAuthenticationDefaults.AuthenticationScheme;
            })    //传入默认授权方案
            .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, o =>
            {
                o.LoginPath        = new PathString("/Account/Login");
                o.AccessDeniedPath = new PathString("/Account/AccessDenied");
            });

            //添加jwt授权
            //services.AddAuthentication(option =>
            //    {
            //        option.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
            //        option.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            //    }) //传入默认授权方案
            //    .AddJwtBearer(o =>
            //    {
            //        o.TokenValidationParameters = new TokenValidationParameters()
            //        {
            //            ValidAudience = JwtConfig.JwtConfigModel.Audience,
            //            ValidIssuer = JwtConfig.JwtConfigModel.Issuer,
            //            IssuerSigningKey = new SymmetricSecurityKey(
            //                Encoding.UTF8.GetBytes(JwtConfig.JwtConfigModel.SecretKey))
            //        };

            //    });


            services.AddAutoMapper();//配置autoapper


            services.AddCors(options =>//配置跨域处理
            {
                options.AddPolicy("any", builder =>
                {
                    builder.AllowAnyOrigin() //允许任何来源的主机访问
                    .AllowAnyMethod()
                    .AllowAnyHeader()
                    .AllowCredentials();    //指定处理cookie
                });
            });

            services.AddMvc() //全局配置Json序列化处理
            .AddJsonOptions(options =>
            {
                //忽略循环引用
                options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                //不使用驼峰样式的key
                //options.SerializerSettings.ContractResolver = new DefaultContractResolver();
                //设置时间格式
                options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
            }
                            );
            _services = services;
        }
 public CorporativoDaoFactory(ConfiguracaoBaseDataBase dataBaseConfig, LogService log) : base(dataBaseConfig)
 {
     _log = log;
 }
예제 #26
0
 public void GetActiveConnections()
 {
     ConnectionInfo.SendCommand(this, new byte[0]);
     LogService.Send((string)Application.Current.Resources["ReceiveActiveConnections"]);
 }
예제 #27
0
        /// <summary>
        /// 插入数据到发料退料记录表,同时修改设备虚拟仓信息
        /// </summary>
        /// <param name="dtInf">数据信息表</param>
        /// <param name="flag">标志 1 发料 0 退料</param>
        /// <returns></returns>
        public DataSet UpdateParameterInf(DataTable dtInf)
        {
            IList <string> sqlCommandList = new List <string>();
            DataSet        retDS          = new DataSet();
            DbConnection   dbCon          = db.CreateConnection();

            dbCon.Open();
            DbTransaction dbTrans = dbCon.BeginTransaction();

            try
            {
                ///sql定义start--------------------------------------------------------------------------------------------------------------
                string sqlKo = @"INSERT INTO dbo.WST_STORE_MATERIAL_SENDING
                                        (SEND_MAT_KEY,SENDING_NUMBER,FACTORY_NAME,
                                        FACTORY_KEY,OPERATION_NAME,EQUIPMENT_NAME,
                                        EQUIPMENT_KEY,LING_NAME,LINE_KEY,
                                        PARAMETER,PARAMETER_KEY,MATERIAL_CODE,
                                        MATERIAL_DESC,MBLNR,SUPPLIER,
                                        SUPPLIER_CODE,SENDING_QTY,SENDING_UNIT,
                                        CONRTAST_QTY,CONRTAST_UNIT,STATUS,
                                        CREATOR,CREATE_TIME,MEMO,
                                        WORK_ORDER) 
                                VALUES
                                        ('{0}','{1}','{2}',
                                        '{3}','{4}','{5}',
                                        '{6}','{7}','{8}',
                                        '{9}','{10}','{11}',
                                        '{12}','{13}','{14}',
                                        '{15}',{16},'{17}',
                                        {18},'{19}',0,
                                        '{20}',GETDATE(),'{21}',
                                        '{22}')";

                #region 修改线上仓数据信息
//                string sqlUpdate01 = @"UPDATE WST_STORE_MATERIAL_DETAIL_QTY SET
//                                                SEND_BACK_QTY = ISNULL(SEND_BACK_QTY,0) + {0},SUMQTY = ISNULL(SUMQTY,0) + {0}
//                                            WHERE
//                                                WORK_ORDER_NUMBER='{1}'
//                                                AND MATERIAL='{2}'
//                                                AND MBLNR='{3}'";
                string sqlUpdate01 = @"UPDATE WST_STORE_MATERIAL_DETAIL_QTY SET 
                                                SEND_BACK_QTY = ISNULL(SEND_BACK_QTY,0) + {0},SUMQTY = ISNULL(SUMQTY,0) + {0}
                                            WHERE
                                                MATERIAL='{1}' 
                                                AND MBLNR='{2}'";
                #endregion

                #endregion
                ///sql执行start-------------------------------------------------------------------------------------------------------------------
                if (dtInf != null && dtInf.Rows.Count > 0)
                {
                    #region 查看领料信息数据表中是否存在物料的记录
//                    string sqlCheck = string.Format(@"SELECT COUNT(1) AS COUNT FROM WST_STORE_MATERIAL_DETAIL_QTY WHERE WORK_ORDER_NUMBER='{0}'
//                                                                AND MATERIAL='{1}' AND MBLNR='{2}'", dtInf.Rows[0]["WORK_ORDER"].ToString(), dtInf.Rows[0]["MATERIAL_CODE"].ToString(), dtInf.Rows[0]["MBLNR"].ToString());
                    string  sqlCheck = string.Format(@"SELECT COUNT(1) AS COUNT FROM WST_STORE_MATERIAL_DETAIL_QTY WHERE 
                                                                MATERIAL='{0}' AND MBLNR='{1}'", dtInf.Rows[0]["MATERIAL_CODE"].ToString(), dtInf.Rows[0]["MBLNR"].ToString());
                    DataSet dsCheck  = db.ExecuteDataSet(CommandType.Text, sqlCheck);
                    if (Convert.ToInt32(dsCheck.Tables[0].Rows[0]["COUNT"].ToString()) > 0)
                    {
                        //更新已有的退料数据以及总数
                        string sqlUpt = string.Format(sqlUpdate01,
                                                      dtInf.Rows[0]["CONRTAST_QTY"].ToString(), dtInf.Rows[0]["MATERIAL_CODE"].ToString(), dtInf.Rows[0]["MBLNR"].ToString()
                                                      );
                        db.ExecuteNonQuery(dbTrans, CommandType.Text, sqlUpt);
                    }
                    else
                    {
                        dbTrans.Rollback();
                        FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, "WST_STORE_MATERIAL_DETAIL_QTY中不存在数据信息");
                        return(retDS);
                    }
                    #endregion
                    #region
                    sqlCheck = string.Format(@"  SELECT SUM_QTY FROM dbo.WST_STORE_MATERIAL_EQUIPMENT_STORE
                                             WHERE FACTORY_KEY = '{0}'
                                                AND EQUIPMENT_KEY = '{1}'
                                                AND OPERATION_NAME = '{2}'
                                                AND LINE_KEY = '{3}'
                                                AND PARAMETER_KEY = '{4}'
                                                AND MATERIAL_CODE = '{5}'
                                                AND SUPPLIER_CODE = '{6}'
                                                AND ORDER_NUMBER = '{7}'
                                                AND STATUS = 1",
                                             dtInf.Rows[0]["FACTORY_KEY"].ToString(),
                                             dtInf.Rows[0]["EQUIPMENT_KEY"].ToString(),
                                             dtInf.Rows[0]["OPERATION_NAME"].ToString(),
                                             dtInf.Rows[0]["LINE_KEY"].ToString(),
                                             dtInf.Rows[0]["PARAMETER_KEY"].ToString(),
                                             dtInf.Rows[0]["MATERIAL_CODE"].ToString(),
                                             dtInf.Rows[0]["SUPPLIER_CODE"].ToString(),
                                             dtInf.Rows[0]["WORK_ORDER"].ToString());
                    dsCheck = db.ExecuteDataSet(CommandType.Text, sqlCheck);
                    if (dsCheck.Tables[0].Rows.Count > 0)
                    {
                        if (Convert.ToDecimal(dsCheck.Tables[0].Rows[0]["SUM_QTY"].ToString()) > Convert.ToDecimal(dtInf.Rows[0]["SENDING_QTY"].ToString()))
                        {//判定剩余数量是否大于本次退料数量
                            string sqlUpt = string.Format(@"UPDATE dbo.WST_STORE_MATERIAL_EQUIPMENT_STORE SET
                                                                SENDING_BACK_QTY= ISNULL(SENDING_BACK_QTY,0) + {0},
                                                                SUM_QTY = ISNULL(SUM_QTY,0) - {0},
                                                                EDITOR = '{9}',
                                                                EDITER_TIME = GETDATE()
                                                        WHERE FACTORY_KEY = '{1}'
                                                                AND EQUIPMENT_KEY = '{2}'
                                                                AND OPERATION_NAME = '{3}'
                                                                AND LINE_KEY = '{4}'
                                                                AND PARAMETER_KEY = '{5}'
                                                                AND MATERIAL_CODE = '{6}'
                                                                AND SUPPLIER_CODE = '{7}'
                                                                AND ORDER_NUMBER = '{8}'
                                                                AND STATUS = 1",
                                                          dtInf.Rows[0]["SENDING_QTY"].ToString(),
                                                          dtInf.Rows[0]["FACTORY_KEY"].ToString(),
                                                          dtInf.Rows[0]["EQUIPMENT_KEY"].ToString(),
                                                          dtInf.Rows[0]["OPERATION_NAME"].ToString(),
                                                          dtInf.Rows[0]["LINE_KEY"].ToString(),
                                                          dtInf.Rows[0]["PARAMETER_KEY"].ToString(),
                                                          dtInf.Rows[0]["MATERIAL_CODE"].ToString(),
                                                          dtInf.Rows[0]["SUPPLIER_CODE"].ToString(),
                                                          dtInf.Rows[0]["WORK_ORDER"].ToString(),
                                                          dtInf.Rows[0]["CREATOR"].ToString()
                                                          );
                            db.ExecuteNonQuery(dbTrans, CommandType.Text, sqlUpt);
                        }
                        else if (Convert.ToDecimal(dsCheck.Tables[0].Rows[0]["SUM_QTY"].ToString()) == Convert.ToDecimal(dtInf.Rows[0]["SENDING_QTY"].ToString()))
                        {
                            string sqlUpt = string.Format(@"UPDATE dbo.WST_STORE_MATERIAL_EQUIPMENT_STORE SET
                                                                SENDING_BACK_QTY= ISNULL(SENDING_BACK_QTY,0) + {0},
                                                                SUM_QTY = ISNULL(SUM_QTY,0) - {0},
                                                                EDITOR = '{9}',
                                                                EDITER_TIME = GETDATE(),
                                                                STATUS = 0
                                                        WHERE FACTORY_KEY = '{1}'
                                                                AND EQUIPMENT_KEY = '{2}'
                                                                AND OPERATION_NAME = '{3}'
                                                                AND LINE_KEY = '{4}'
                                                                AND PARAMETER_KEY = '{5}'
                                                                AND MATERIAL_CODE = '{6}'
                                                                AND SUPPLIER_CODE = '{7}'
                                                                AND ORDER_NUMBER = '{8}'
                                                                AND STATUS = 1",
                                                          dtInf.Rows[0]["SENDING_QTY"].ToString(),
                                                          dtInf.Rows[0]["FACTORY_KEY"].ToString(),
                                                          dtInf.Rows[0]["EQUIPMENT_KEY"].ToString(),
                                                          dtInf.Rows[0]["OPERATION_NAME"].ToString(),
                                                          dtInf.Rows[0]["LINE_KEY"].ToString(),
                                                          dtInf.Rows[0]["PARAMETER_KEY"].ToString(),
                                                          dtInf.Rows[0]["MATERIAL_CODE"].ToString(),
                                                          dtInf.Rows[0]["SUPPLIER_CODE"].ToString(),
                                                          dtInf.Rows[0]["WORK_ORDER"].ToString(),
                                                          dtInf.Rows[0]["CREATOR"].ToString()
                                                          );
                            db.ExecuteNonQuery(dbTrans, CommandType.Text, sqlUpt);
                        }
                        else
                        {
                            dbTrans.Rollback();
                            FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, "WST_STORE_MATERIAL_EQUIPMENT_STORE中不存在数据信息,请先发料!");
                            return(retDS);
                        }
                    }
                    else
                    {
                        dbTrans.Rollback();
                        FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, "此车间设备没有该工单的物料可退!");
                        return(retDS);
                    }
                    //插入抬头表信息
                    string strInsert = string.Format(sqlKo,
                                                     UtilHelper.GenerateNewKey(0),                                                  //主键
                                                     dtInf.Rows[0]["SENDING_NUMBER"].ToString(),
                                                     dtInf.Rows[0]["FACTORY_NAME"].ToString(),
                                                     dtInf.Rows[0]["FACTORY_KEY"].ToString(),
                                                     dtInf.Rows[0]["OPERATION_NAME"].ToString(),
                                                     dtInf.Rows[0]["EQUIPMENT_NAME"].ToString(),
                                                     dtInf.Rows[0]["EQUIPMENT_KEY"].ToString(),
                                                     dtInf.Rows[0]["LING_NAME"].ToString(),
                                                     dtInf.Rows[0]["LINE_KEY"].ToString(),
                                                     dtInf.Rows[0]["PARAMETER"].ToString(),
                                                     dtInf.Rows[0]["PARAMETER_KEY"].ToString(),
                                                     dtInf.Rows[0]["MATERIAL_CODE"].ToString(),
                                                     dtInf.Rows[0]["MATERIAL_DESC"].ToString(),
                                                     dtInf.Rows[0]["MBLNR"].ToString(),
                                                     dtInf.Rows[0]["SUPPLIER"].ToString(),
                                                     dtInf.Rows[0]["SUPPLIER_CODE"].ToString(),
                                                     dtInf.Rows[0]["SENDING_QTY"].ToString(),
                                                     dtInf.Rows[0]["SENDING_UNIT"].ToString(),
                                                     dtInf.Rows[0]["CONRTAST_QTY"].ToString(),
                                                     dtInf.Rows[0]["CONRTAST_UNIT"].ToString(),
                                                     dtInf.Rows[0]["CREATOR"].ToString(),
                                                     dtInf.Rows[0]["MEMO"].ToString(),
                                                     dtInf.Rows[0]["WORK_ORDER"].ToString()
                                                     );
                    db.ExecuteNonQuery(dbTrans, CommandType.Text, strInsert);
                    dbTrans.Commit();
                    FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, string.Empty);
                }
                else
                {
                    FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, "保存清单信息为空!");
                }
            }
            catch (Exception ex)
            {
                dbTrans.Rollback();
                FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, ex.Message);
                LogService.LogError("UpdateParameterInf Error: " + ex.Message);
            }
            return(retDS);
        }
예제 #28
0
 public void Stop()
 {
     watcher.Stop();
     ping.Stop();
     LogService.Clear();
 }
예제 #29
0
 public DeleteLogs()
 {
     _LogService = new LogService();
 }
예제 #30
0
 /// <summary>
 /// 为返回的数据添加用户姓名列
 /// </summary>
 /// <param name="jsonModel">数据</param>
 /// <param name="type">type 0获取所有学生(默认);1获取所有教师;2 根据UniqueNo获取用户;3 根据UniqueNo获取学生;4 获取所有用户信息</param>
 /// <param name="ispage">数据是否是分页的</param>
 /// <param name="oneUserField">第一个需要返回用户姓名的列</param>
 /// <param name="uniqueNos">uniqueNos字符串,以逗号分隔,默认为空</param>
 /// <param name="twoUserField">第二个需要返回用户姓名的列</param>
 /// <param name="name">根据名称搜索</param>
 /// <param name="AcademicId">默认0 当前学期; 历史学期 传学期id</param>
 /// <returns></returns>
 public JsonModel AddCreateNameForData(JsonModel jsonModel, int type = 0, bool ispage = false, string oneUserField = "CreateUID", string uniqueNos = "", string twoUserField = "", string name = "", string AcademicId = "0")
 {
     if (jsonModel.errNum == 0)
     {
         List <Dictionary <string, object> >           list      = new List <Dictionary <string, object> >();
         List <Dictionary <string, object> >           classList = new List <Dictionary <string, object> >();
         PagedDataModel <Dictionary <string, object> > pageModel = null;
         if (ispage)
         {
             pageModel = jsonModel.retData as PagedDataModel <Dictionary <string, object> >;
             list      = pageModel.PagedData as List <Dictionary <string, object> >;
         }
         else
         {
             list = jsonModel.retData as List <Dictionary <string, object> >;
         }
         List <Dictionary <string, object> > allList = new List <Dictionary <string, object> >();
         allList = GetUnifiedUserData(type, uniqueNos, name, AcademicId);
         if (!string.IsNullOrEmpty(name))
         {
             List <string> stuUniqueNo = (from dic in allList select dic["UniqueNo"].ToString()).ToList();
             list = (from dic in list
                     where stuUniqueNo.Contains(dic[oneUserField].ToString())
                     select dic).ToList();
         }
         foreach (Dictionary <string, object> item in list)
         {
             try
             {
                 Dictionary <string, object> dicItem = (from dic in allList
                                                        where dic["UniqueNo"].ToString() == item[oneUserField].ToString()
                                                        select dic).FirstOrDefault();
                 item.Add("CreateName", dicItem == null?"":dicItem["Name"].ToString());
                 item.Add("AbsHeadPic", dicItem == null ? "" : dicItem["AbsHeadPic"].ToString());
                 item.Add("Sex", dicItem == null ? "" : dicItem["Sex"].ToString());
                 if (dicItem != null && dicItem.ContainsKey("OrgName"))
                 {
                     item.Add("OrgName", dicItem["OrgName"].ToString());
                 }
                 if (dicItem != null && dicItem.ContainsKey("GradeName"))
                 {
                     item.Add("GradeName", dicItem["GradeName"].ToString());
                 }
                 if (!string.IsNullOrEmpty(twoUserField))
                 {
                     Dictionary <string, object> dicItem_two = (from dic in allList
                                                                where dic["UniqueNo"].ToString() == item[twoUserField].ToString()
                                                                select dic).FirstOrDefault();
                     item.Add("TwoUserName", dicItem_two == null?"": dicItem_two["Name"].ToString());
                     item.Add("TwoAbsHeadPic", dicItem_two == null ? "" : dicItem_two["AbsHeadPic"].ToString());
                 }
             }
             catch (Exception ex)
             {
                 LogService.WriteErrorLog(ex.Message);
             }
         }
         if (ispage)
         {
             pageModel.PagedData = list;
             jsonModel.retData   = pageModel;
         }
         else
         {
             jsonModel.retData = list;
         }
     }
     return(jsonModel);
 }
 protected JobBase()
 {
     _logService=new LogService();
      _logEntryDescription= new StringBuilder();
 }
예제 #32
0
        static void Main(string[] args)
        {
            #region temp

            //            int iii=1;

//            Console.WriteLine("Testing--Pos- re-processing");
//            IList<TempModel> new_request1 = new List<TempModel>(MainRepository.TempGetAllRequests());

//            foreach(var req in new_request1)
//            {
//                string ttt = SoapServices.SendXMLRequest(GetXMLCommands.GetRegisterPayment(req.phoneNumber,req.amount));

//                MainRepository.TempUpdateNumber(req);
//                Console.WriteLine(ttt);
//                Console.WriteLine(iii++);
//// testing
            //            }
            #endregion
            Console.WriteLine("Tigo Cash Requests Count_v1.5");
            #region Constants
            string init       = ConfigurationManager.AppSettings["init"].ToString();       // "0277551990";//"0573449847";// "0278793422";
            string salt       = ConfigurationManager.AppSettings["salt"].ToString();       //"0277551990";//"0278793422";
            string pin        = ConfigurationManager.AppSettings["pin"].ToString();        // "1212";//"1234";
            string amount     = ConfigurationManager.AppSettings["amount"].ToString();     // "1212";//"1234";
            string fundsource = ConfigurationManager.AppSettings["fundsource"].ToString(); // "1212";//"1234";
            #endregion

            int i = 1;
            while (i > 0)
            {
                try
                {
                    IList <RequestModel> new_request = new List <RequestModel>(MainRepository.GetAllRequests());
                    int int_temp = 0;
                    foreach (RequestModel req in new_request)
                    {
                        if (MainRepository.OnWhileList(req))
                        {
                            MainRepository.UpdateTigoCashRequest(req, 3);

                            //SMSService.SendSMSMiddleware("Tigo", "0277443830", "Wc-request");

                            string session = CreatAndLoginSession();
                            //  int current_count = MainRepository.GetCurrentReceiptNumber() + 1;
                            string reponse = string.Empty;

                            // check if registered- to do;
                            reponse = SoapServices.SendXMLRequest(GetXMLCommands.GetAgentStatusXML(req.SubscriberNumber, session));


                            #region Registration
                            if (reponse.Contains("cashsubscriber"))
                            {
                            }
                            else
                            {
                                reponse = SoapServices.SendXMLRequest(GetXMLCommands.GetRegisterXML(req.RequestBy, session, req.SubscriberNumber, req.SubscriberName, req.SubscriberAddress, "Ghanaian", req.DOB, req.SubscriberIdType, req.SubscriberIdNumber));
                                LogService.AutoLog(req.SubscriberNumber, DbFriendly(reponse), "TigoCashWelcomePack");
                                Console.WriteLine("--log--");
                            }
                            #endregion

                            #region Activate
                            for (int x = 0; x < 10; x++)
                            {
                                string receiptNumber = GetReceiptNumber();
                                reponse = SoapServices.SendXMLRequest(GetXMLCommands.GetActivateXML(session, req.SubscriberNumber, init, pin, receiptNumber));
                                // MainRepository.UpdateReceiptNumber(current_count);

                                LogService.AutoLog(req.SubscriberNumber, DbFriendly(reponse), "TigoCashWelcomePack");
                                Console.WriteLine("--log--");

                                if (CheckIfSucessfull(reponse))
                                {
                                    MainRepository.UpdateReceiptNumber(receiptNumber, 1);
                                    MainRepository.UpdateTigoCashRequest(req, 4);
                                    break;
                                }
                                else
                                {
                                    if (reponse.Contains("10006"))
                                    {
                                        MainRepository.UpdateTigoCashRequest(req, 5); // already active
                                        break;
                                    }
                                    else
                                    {
                                        MainRepository.UpdateReceiptNumber(receiptNumber, 3); // already used
                                    }
                                }
                            }

                            #endregion

                            #region Donate 1GHC

                            //if (MainRepository.CheckIfAlreadyProcessed(req.SubscriberNumber))
                            //{
                            //MainRepository.UpdateTigoCashRequest(req, 3); // duplicate request
                            //SMSService.SendSMSMiddleware("Tigo", req.RequestBy, "This subscriber " +  req.SubscriberIdNumber + "  has already received the tigo cash welcome package.");
                            //}
                            //else
                            //{
                            //   reponse = SoapServices.SendXMLRequest(GetXMLCommands.GetAdjustWalletXML(session, fundsource,req.SubscriberNumber));
                            // LogService.AutoLog(req.SubscriberNumber, DbFriendly(reponse), "TigoCashWelcomePack");
                            #endregion

                            #region Check response
                            //if (CheckIfSucessfull(reponse))
                            //{
                            //    //SMSService.SendSMSMiddleware("Tigo", "0277443830", "WC-request-completed");
                            //    LogService.AutoLog(req.SubscriberNumber, "Operation Successful", "TigoCashWelcomePack");
                            //    MainRepository.UpdateTigoCashRequest(req, 1);
                            //    SMSService.SendSMSMiddleware("Tigo", req.SubscriberNumber, "Welcome to Tigo Cash, Your account has been credited with 1 GHC. Smile you've got Tigo");
                            //}
                            //else
                            //{
                            //    MainRepository.UpdateNumberOfTries(req);
                            //    SMSService.SendSMSMiddleware("Tigo", req.RequestBy, req.SubscriberNumber + ", Tigo cash registration was not successful");
                            //}
                            #endregion
                            //}

                            SMSService.SendSMSMiddleware("Tigo", req.SubscriberNumber, "Welcome to Tigo Cash, Your has been activated.");
                        }
                        else
                        {
                            MainRepository.UpdateTigoCashRequest(req, 2);
                            SMSService.SendSMSMiddleware("Tigo", req.RequestBy, "You are not permitted to undertake Tigo Cash transactions");
                        }
                        Console.WriteLine("Request No. " + int_temp++);
                    }
                }
                catch (Exception ex)
                {
                    LogService.AutoLog("Application Error", ex.Message, "TigoCashWelcomePack");
                    Console.WriteLine("--error--");
                }
            }
        }
예제 #33
0
        /// <summary>
        /// 向工单表中插入工单信息,同时向配料单表中插入配料信息
        /// </summary>
        /// <param name="dsParams">POR_WORK_ORDER和POR_WORK_ORDER_REC数据表和数据</param>
        /// <returns>返回含有操作信息的结果集</returns>
        public DataSet AddMaterialInformation(DataSet dsParams)
        {
            DataSet dsReturn   = new DataSet();
            string  sqlCommand = string.Empty;
            POR_WORK_ORDER_REC_FIELDS MaterialsFields = new POR_WORK_ORDER_REC_FIELDS();

            if (dsParams != null)
            {
                //生成向工单表插入数据的SQL
                List <string> sqlCommandList = new List <string>();
                if (dsParams.Tables.Contains(POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME))
                {
                    DatabaseTable.BuildInsertSqlStatements(ref sqlCommandList,
                                                           new POR_WORK_ORDER_FIELDS(),
                                                           dsParams.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME],
                                                           new Dictionary <string, string>()
                    {
                    },
                                                           new List <string>());
                }

                //生成向配料单表插入数据的SQL
                if (dsParams.Tables.Contains(POR_WORK_ORDER_REC_FIELDS.DATABASE_TABLE_NAME))
                {
                    for (int i = 0; i < dsParams.Tables[POR_WORK_ORDER_REC_FIELDS.DATABASE_TABLE_NAME].Rows.Count; i++)
                    {
                        sqlCommand = DatabaseTable.BuildInsertSqlStatement(MaterialsFields, dsParams.Tables[POR_WORK_ORDER_REC_FIELDS.DATABASE_TABLE_NAME],
                                                                           i, new Dictionary <string, string> {
                        }, new List <string>());
                        sqlCommandList.Add(sqlCommand);
                    }
                }
                if (sqlCommandList.Count > 0)
                {
                    DbConnection dbCon = db.CreateConnection();
                    dbCon.Open();
                    DbTransaction dbTrans = dbCon.BeginTransaction();
                    try
                    {
                        foreach (string sql in sqlCommandList)
                        {
                            db.ExecuteNonQuery(dbTrans, CommandType.Text, sql);
                        }
                        dbTrans.Commit();
                        FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, "");
                    }
                    catch (Exception ex)
                    {
                        dbTrans.Rollback();
                        FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, ex.Message);
                        LogService.LogError("MaterialsInsert Error: " + ex.Message);
                    }
                    finally
                    {
                        dbTrans = null;
                        dbCon.Close();
                        dbCon = null;
                    }
                }
            }
            else
            {
                FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, "No Work Order Tables in input paremter.");
            }

            return(dsReturn);
        }
        private async Task LogUserUpdates(string updatingUser, string updatedUser, IEnumerable<string> changes, bool expectSuccess = true)
        {
            var logEntrySet = CreateMockLogEntrySet();
            var logPropertySet = CreateMockLogPropertySet();
            var context = CreateLoggingContext(logEntrySet.Object, logPropertySet.Object);

            var service = new LogService(context.Object);

            IList<string> changedProperties = null;

            if (changes != null)
                changedProperties = changes as IList<string> ?? changes.ToList();

            await service.LogUserUpdated(updatingUser, updatedUser, changedProperties);

            if (expectSuccess)
            {
                logEntrySet.Verify(l => l.Add(It.Is<LogEntry>(le => CheckUserUpdatedLogEntry(le, updatingUser, updatedUser, changedProperties))));
                context.Verify(c => c.SaveChangesAsync());
            }
            else
            {
                logEntrySet.Verify(l => l.Add(It.IsAny<LogEntry>()), Times.Never);
                context.Verify(c => c.SaveChangesAsync(), Times.Never);
            }
        }
예제 #35
0
        /// <summary>
        /// Configure dependency injection
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        internal static IContainer GlobalScope(string[] args)
        {
            var builder = new ContainerBuilder();
            var logger  = new LogService();

            if (Verbose)
            {
                logger.SetVerbose();
            }
            // Not used but should be called anyway because it
            // checks if we're not running as dotnet.exe and also
            // prints some verbose messages that are interesting
            // to know very early in the start up process
            var versionService   = new VersionService(logger);
            var pluginService    = new PluginService(logger);
            var argumentsParser  = new ArgumentsParser(logger, pluginService, args);
            var argumentsService = new ArgumentsService(logger, argumentsParser);

            if (!argumentsService.Valid)
            {
                return(null);
            }
            var settingsService = new SettingsService(logger, argumentsService);

            if (!settingsService.Valid)
            {
                return(null);
            }
            logger.SetDiskLoggingPath(settingsService.Client.LogPath);

            _ = builder.RegisterInstance(argumentsService);
            _ = builder.RegisterInstance(argumentsParser);
            _ = builder.RegisterInstance(logger).As <ILogService>();
            _ = builder.RegisterInstance(settingsService).As <ISettingsService>();
            _ = builder.RegisterInstance(argumentsService).As <IArgumentsService>();
            _ = builder.RegisterInstance(pluginService).As <IPluginService>();
            _ = builder.RegisterType <UserRoleService>().As <IUserRoleService>().SingleInstance();
            _ = builder.RegisterType <InputService>().As <IInputService>().SingleInstance();
            _ = builder.RegisterType <ProxyService>().SingleInstance();
            _ = builder.RegisterType <UpdateClient>().SingleInstance();
            _ = builder.RegisterType <PasswordGenerator>().SingleInstance();
            _ = builder.RegisterType <RenewalStoreDisk>().As <IRenewalStore>().SingleInstance();

            pluginService.Configure(builder);

            _ = builder.RegisterType <DomainParseService>().SingleInstance();
            _ = builder.RegisterType <IISClient>().As <IIISClient>().InstancePerLifetimeScope();
            _ = builder.RegisterType <IISHelper>().SingleInstance();
            _ = builder.RegisterType <ExceptionHandler>().SingleInstance();
            _ = builder.RegisterType <UnattendedResolver>();
            _ = builder.RegisterType <InteractiveResolver>();
            _ = builder.RegisterType <AutofacBuilder>().As <IAutofacBuilder>().SingleInstance();
            _ = builder.RegisterType <AccountManager>().SingleInstance();
            _ = builder.RegisterType <AcmeClient>().SingleInstance();
            _ = builder.RegisterType <ZeroSsl>().SingleInstance();
            _ = builder.RegisterType <OrderManager>().SingleInstance();
            _ = builder.RegisterType <PemService>().SingleInstance();
            _ = builder.RegisterType <EmailClient>().SingleInstance();
            _ = builder.RegisterType <ScriptClient>().SingleInstance();
            _ = builder.RegisterType <LookupClientProvider>().SingleInstance();
            _ = builder.RegisterType <CertificateService>().As <ICertificateService>().SingleInstance();
            _ = builder.RegisterType <TaskSchedulerService>().SingleInstance();
            _ = builder.RegisterType <NotificationService>().SingleInstance();
            _ = builder.RegisterType <RenewalExecutor>().SingleInstance();
            _ = builder.RegisterType <RenewalValidator>().SingleInstance();
            _ = builder.RegisterType <RenewalManager>().SingleInstance();
            _ = builder.RegisterType <RenewalCreator>().SingleInstance();
            _ = builder.Register(c => c.Resolve <IArgumentsService>().MainArguments).SingleInstance();

            _ = builder.RegisterType <Wacs>();

            return(builder.Build());
        }
        public async Task Integration_LogDataContext_LogService_Log_await_GetDataCallInfoSelectionsAsync_Return_DataCalls()
        {
            bool caught = false;
            // context object LogDataContext matches the same name used for LogqsoData DB
            using (IDataContextAsync context = new ContestqsoDataContext())
            //IUnitOfWorkDataAsync and UnitOfWorkData are used in order for Dependency Injection to inject the DataDB
            using (IUnitOfWorkAsync unitOfWork = new UnitOfWork(context))
            {

                IRepositoryAsync<Log> _logRepository = new Repository<Log>(context, unitOfWork);
                //Task<DataCalls> DataCalls = null;
                DataCalls DataCalls = null;
                string SelectedCall=  "CN2R";

                var logService = new LogService(_logRepository);
                try
                {


                    dataCallObjDTO dataCallObjDTO = new Dto.LogData.dataCallObjDTO()
                    {
                        ControlCategorySettingsDto = new   ControlCategorySettingsDto()
                        {
                            CatAssisted = Enum.GetName( typeof(CatAssistedEnum), CatAssistedEnum.ASSISTED ).Replace('_','-'),
                            CatBand = Enum.GetName( typeof(CatBandEnum), CatBandEnum.ALL ),
                            CatNoOfTx = Enum.GetName( typeof(CatNoOfTxEnum), CatNoOfTxEnum.TWO ),
                            CatOperator = Enum.GetName(typeof(CatOperatorEnum), CatOperatorEnum.MULTI_OP).Replace('_', '-'),
                            CatPower = Enum.GetName( typeof(CatPowerEnum), CatPowerEnum.HIGH ),
                            CatOperatorOverlay = Enum.GetName( typeof(CatOperatorOverlayEnum), CatOperatorOverlayEnum.NONE )
                        },
                        DataCallInfoDto = new DataCallInfoDto()
                        {
                            CallGroup =   CallGroupEnum.CALL1,
                            SelectedCall =  SelectedCall,
                            SelectedContestName = "Cqww Ssb 2002"
                        },
                        CallTab = "C"
                    };

                    DataCalls = await logService.GetCategorizedCallsAsync(dataCallObjDTO, "default");
                    //GetCategorizedCallsAsync() is  async method of Logservice.
                    //awaut on logService.GetCategorizedCallsAsync() runs asynchronously
                    //converts return type Task<DataCalls> to DataCalls
                    //it will return a DataCalls

                    Assert.IsNotNull(DataCalls);
                    Assert.IsInstanceOfType(DataCalls, typeof(DataCalls) );
                    Assert.AreEqual(CallGroupEnum.CALL1, DataCalls.CallGroup );
                    Assert.AreEqual( "C", DataCalls.SelectedCall );
                    Assert.IsInstanceOfType(DataCalls.Calls, typeof(ICollection<CallGroupCall>));
                    Assert.AreNotEqual(0, DataCalls.Calls.Count() );
                    Assert.AreEqual( SelectedCall.Substring(0,1), DataCalls.Calls.ElementAt(0).Call.Substring(0,1) );
              }
                catch (Exception ex)
                {
                    TestContext.WriteLine(string.Format("Integration_LogDataContext_LogService_Log_await_GetDataCallInfoSelectionsAsync_Return_DataCalls exception {0}", ex.Message));
                    caught = true;
                }
                Assert.IsFalse(caught);  //exception

            }
        }
        private async Task GetLogEntries(IEnumerable<LogEntry> dataSet, IEnumerable<LogEntry> expectedDataSet = null, int? pageSize = null, int? page = null, DateTimeOffset? startDate = null, DateTimeOffset? endDate = null)
        {
            LogEntries.Clear();
            LogEntries.AddRange(dataSet);

            var logEntrySet = CreateMockLogEntrySet();
            var logPropertySet = CreateMockLogPropertySet();
            var context = CreateLoggingContext(logEntrySet.Object, logPropertySet.Object);

            var service = new LogService(context.Object);

            var result = await service.GetLogEntries(pageSize, page, startDate, endDate);

            if (expectedDataSet != null)
            {
                Assert.True(expectedDataSet.OrderBy(l => l.Date).SequenceEqual(result));
            }

            context.Verify(c => c.SaveChangesAsync(), Times.Never);
        }
예제 #38
0
        /// <summary>
        /// 插入数据到发料退料记录表,同时修改设备虚拟仓信息
        /// </summary>
        /// <param name="dtInf">数据信息表</param>
        /// <param name="flag">标志 1 发料 0 退料</param>
        /// <returns></returns>
        public DataSet InsertNewInf(DataTable dtInf)
        {
            IList <string> sqlCommandList = new List <string>();
            DataSet        retDS          = new DataSet();
            DbConnection   dbCon          = db.CreateConnection();

            dbCon.Open();
            DbTransaction dbTrans = dbCon.BeginTransaction();

            try
            {
                ///sql定义start--------------------------------------------------------------------------------------------------------------
                #region 插入数据到发料退料记录表中
                string sqlKo = @"INSERT INTO dbo.WST_STORE_MATERIAL_SENDING
                                        (SEND_MAT_KEY,SENDING_NUMBER,FACTORY_NAME,
                                        FACTORY_KEY,OPERATION_NAME,EQUIPMENT_NAME,
                                        EQUIPMENT_KEY,LING_NAME,LINE_KEY,
                                        PARAMETER,PARAMETER_KEY,MATERIAL_CODE,
                                        MATERIAL_DESC,MBLNR,SUPPLIER,
                                        SUPPLIER_CODE,SENDING_QTY,SENDING_UNIT,
                                        CONRTAST_QTY,CONRTAST_UNIT,STATUS,
                                        CREATOR,CREATE_TIME,MEMO,
                                        WORK_ORDER) 
                                VALUES
                                        ('{0}','{1}','{2}',
                                        '{3}','{4}','{5}',
                                        '{6}','{7}','{8}',
                                        '{9}','{10}','{11}',
                                        '{12}','{13}','{14}',
                                        '{15}',{16},'{17}',
                                        {18},'{19}',1,
                                        '{20}',GETDATE(),'{21}',
                                        '{22}')";
                #endregion
                #region
//                string sqlUpdate01 = @"UPDATE WST_STORE_MATERIAL_DETAIL_QTY SET
//                                                SEND_QTY = ISNULL(SEND_QTY,0) + {0},SUMQTY = ISNULL(SUMQTY,0) - {0}
//                                            WHERE
//                                                WORK_ORDER_NUMBER='{1}'
//                                                AND MATERIAL='{2}'
//                                                AND MBLNR='{3}'";
                string sqlUpdate01 = @"UPDATE WST_STORE_MATERIAL_DETAIL_QTY SET 
                                                                SEND_QTY = ISNULL(SEND_QTY,0) + {0},SUMQTY = ISNULL(SUMQTY,0) - {0}
                                                            WHERE
                                                                MATERIAL='{1}' 
                                                                AND MBLNR='{2}'";
                #endregion

                #region 查看领料信息数据表中是否存在物料的记录
//                string sqlCheck = string.Format(@"SELECT COUNT(1) AS COUNT FROM WST_STORE_MATERIAL_DETAIL_QTY WHERE WORK_ORDER_NUMBER='{0}'
//                                                                AND MATERIAL='{1}' AND MBLNR='{2}'", dtInf.Rows[0]["WORK_ORDER"].ToString(), dtInf.Rows[0]["MATERIAL_CODE"].ToString(), dtInf.Rows[0]["MBLNR"].ToString());
                string  sqlCheck = string.Format(@"SELECT COUNT(1) AS COUNT FROM WST_STORE_MATERIAL_DETAIL_QTY WHERE 
                                                                 MATERIAL='{0}' AND MBLNR='{1}'", dtInf.Rows[0]["MATERIAL_CODE"].ToString(), dtInf.Rows[0]["MBLNR"].ToString());
                DataSet dsCheck  = db.ExecuteDataSet(CommandType.Text, sqlCheck);
                if (Convert.ToInt32(dsCheck.Tables[0].Rows[0]["COUNT"].ToString()) > 0)
                {
                    //更新已有的退料数据以及总数
                    string sqlUpt = string.Format(sqlUpdate01,
                                                  dtInf.Rows[0]["CONRTAST_QTY"].ToString(), dtInf.Rows[0]["MATERIAL_CODE"].ToString(), dtInf.Rows[0]["MBLNR"].ToString()
                                                  );
                    db.ExecuteNonQuery(dbTrans, CommandType.Text, sqlUpt);
                }
                else
                {
                    dbTrans.Rollback();
                    FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, "WST_STORE_MATERIAL_DETAIL_QTY中不存在数据信息");
                    return(retDS);
                }
                #endregion
                ///sql执行start-------------------------------------------------------------------------------------------------------------------
                if (dtInf != null && dtInf.Rows.Count > 0)
                {
                    //插入抬头表信息
                    string strInsert = string.Format(sqlKo,
                                                     UtilHelper.GenerateNewKey(0),                                                  //主键
                                                     dtInf.Rows[0]["SENDING_NUMBER"].ToString(),
                                                     dtInf.Rows[0]["FACTORY_NAME"].ToString(),
                                                     dtInf.Rows[0]["FACTORY_KEY"].ToString(),
                                                     dtInf.Rows[0]["OPERATION_NAME"].ToString(),
                                                     dtInf.Rows[0]["EQUIPMENT_NAME"].ToString(),
                                                     dtInf.Rows[0]["EQUIPMENT_KEY"].ToString(),
                                                     dtInf.Rows[0]["LING_NAME"].ToString(),
                                                     dtInf.Rows[0]["LINE_KEY"].ToString(),
                                                     dtInf.Rows[0]["PARAMETER"].ToString(),
                                                     dtInf.Rows[0]["PARAMETER_KEY"].ToString(),
                                                     dtInf.Rows[0]["MATERIAL_CODE"].ToString(),
                                                     dtInf.Rows[0]["MATERIAL_DESC"].ToString(),
                                                     dtInf.Rows[0]["MBLNR"].ToString(),
                                                     dtInf.Rows[0]["SUPPLIER"].ToString(),
                                                     dtInf.Rows[0]["SUPPLIER_CODE"].ToString(),
                                                     dtInf.Rows[0]["SENDING_QTY"].ToString(),
                                                     dtInf.Rows[0]["SENDING_UNIT"].ToString(),
                                                     dtInf.Rows[0]["CONRTAST_QTY"].ToString(),
                                                     dtInf.Rows[0]["CONRTAST_UNIT"].ToString(),
                                                     dtInf.Rows[0]["CREATOR"].ToString(),
                                                     dtInf.Rows[0]["MEMO"].ToString(),
                                                     dtInf.Rows[0]["WORK_ORDER"].ToString()
                                                     );
                    db.ExecuteNonQuery(dbTrans, CommandType.Text, strInsert);

                    string insertOrUpdate = string.Format(@"DECLARE @FACKEY VARCHAR(64),
		                                                            @EQUIPMENTKEY VARCHAR(64),
		                                                            @OPERATIONNAME VARCHAR(64),
		                                                            @LINEKEY VARCHAR(64),
		                                                            @PARAMETERKEY VARCHAR(64),
		                                                            @MATERIALCODE VARCHAR(64),
		                                                            @SUPPLIERCODE VARCHAR(64),
		                                                            @ORDERNUMBER VARCHAR(64),
		                                                            @SENDINGQTY numeric(10, 3),
		                                                            @EDITOR VARCHAR(64),
		                                                            @MATEQUKEY VARCHAR(64),
		                                                            @SENDINGNUMBER VARCHAR(64),
		                                                            @FACTORYNAME VARCHAR(64),
		                                                            @EQUIPMENTNAME VARCHAR(64),
		                                                            @LINGNAME VARCHAR(64),
		                                                            @PARAMETER VARCHAR(64),
		                                                            @SENDINGUNIT VARCHAR(64),
                                                                    @SUPPLIER VARCHAR(64)
                                                                    SET @FACKEY = '{0}'
		                                                            SET @EQUIPMENTKEY = '{1}'
		                                                            SET @OPERATIONNAME = '{2}'
		                                                            SET @LINEKEY = '{3}'
		                                                            SET @PARAMETERKEY = '{4}'
		                                                            SET @MATERIALCODE = '{5}'
		                                                            SET @SUPPLIERCODE = '{6}'
		                                                            SET @ORDERNUMBER = '{7}'
		                                                            SET @SENDINGQTY = {8}
		                                                            SET @SENDINGUNIT = '{9}'
		                                                            SET @EDITOR = '{10}'
		                                                            SET @MATEQUKEY = '{11}'
		                                                            SET @SENDINGNUMBER ='{12}'
		                                                            SET @FACTORYNAME = '{13}'
		                                                            SET @EQUIPMENTNAME = '{14}' 
		                                                            SET @LINGNAME = '{15}'
		                                                            SET @PARAMETER = '{16}'
                                                                    SET @SUPPLIER = '{17}'
                                                            IF EXISTS(SELECT  1  FROM dbo.WST_STORE_MATERIAL_EQUIPMENT_STORE
                                                                                 WHERE FACTORY_KEY = @FACKEY
                                                                                    AND EQUIPMENT_KEY = @EQUIPMENTKEY
                                                                                    AND OPERATION_NAME = @OPERATIONNAME
                                                                                    AND LINE_KEY = @LINEKEY
                                                                                    AND PARAMETER_KEY = @PARAMETERKEY
                                                                                    AND MATERIAL_CODE = @MATERIALCODE
                                                                                    AND SUPPLIER_CODE = @SUPPLIERCODE
                                                                                    AND ORDER_NUMBER = @ORDERNUMBER
                                                                                    AND STATUS = 1)
                                                            BEGIN 
                                                            UPDATE dbo.WST_STORE_MATERIAL_EQUIPMENT_STORE SET
                                                                    SENDING_QTY = ISNULL(SENDING_QTY,0) + @SENDINGQTY,
                                                                    SUM_QTY = ISNULL(SUM_QTY,0) + @SENDINGQTY,
                                                                    EDITOR = @EDITOR,
                                                                    EDITER_TIME = GETDATE()
                                                            WHERE FACTORY_KEY = @FACKEY
                                                                    AND EQUIPMENT_KEY = @EQUIPMENTKEY
                                                                    AND OPERATION_NAME = @OPERATIONNAME
                                                                    AND LINE_KEY = @LINEKEY
                                                                    AND PARAMETER_KEY = @PARAMETERKEY
                                                                    AND MATERIAL_CODE = @MATERIALCODE
                                                                    AND SUPPLIER_CODE = @SUPPLIERCODE
                                                                    AND ORDER_NUMBER = @ORDERNUMBER
                                                                    AND STATUS = 1
                                                            END
                                                            ELSE
                                                            BEGIN
                                                            INSERT INTO dbo.WST_STORE_MATERIAL_EQUIPMENT_STORE(
                                                                    MAT_EQU_KEY,SENDING_NUMBER,FACTORY_NAME,FACTORY_KEY,
                                                                    OPERATION_NAME,EQUIPMENT_NAME,EQUIPMENT_KEY,LING_NAME,
                                                                    LINE_KEY,PARAMETER,PARAMETER_KEY,MATERIAL_CODE,
                                                                    SUPPLIER_CODE,SENDING_QTY,SENDING_UNIT,CREATOR,
                                                                    CREATE_TIME,SUM_QTY,ORDER_NUMBER,SUPPLIER)
                                                            VALUES(@MATEQUKEY,@SENDINGNUMBER,@FACTORYNAME,@FACKEY,
                                                                    @OPERATIONNAME,@EQUIPMENTNAME,@EQUIPMENTKEY,@LINGNAME,
                                                                    @LINEKEY,@PARAMETER,@PARAMETERKEY,@MATERIALCODE,
                                                                    @SUPPLIERCODE,@SENDINGQTY,@SENDINGUNIT,@EDITOR,
                                                                    GETDATE(),@SENDINGQTY,@ORDERNUMBER,@SUPPLIER)
                                                            END
                                                            ",
                                                          dtInf.Rows[0]["FACTORY_KEY"].ToString(),
                                                          dtInf.Rows[0]["EQUIPMENT_KEY"].ToString(),
                                                          dtInf.Rows[0]["OPERATION_NAME"].ToString(),
                                                          dtInf.Rows[0]["LINE_KEY"].ToString(),
                                                          dtInf.Rows[0]["PARAMETER_KEY"].ToString(),
                                                          dtInf.Rows[0]["MATERIAL_CODE"].ToString(),
                                                          dtInf.Rows[0]["SUPPLIER_CODE"].ToString(),
                                                          dtInf.Rows[0]["WORK_ORDER"].ToString(),
                                                          dtInf.Rows[0]["SENDING_QTY"].ToString(),
                                                          dtInf.Rows[0]["SENDING_UNIT"].ToString(),
                                                          dtInf.Rows[0]["CREATOR"].ToString(),
                                                          UtilHelper.GenerateNewKey(0),
                                                          dtInf.Rows[0]["SENDING_NUMBER"].ToString(),
                                                          dtInf.Rows[0]["FACTORY_NAME"].ToString(),
                                                          dtInf.Rows[0]["EQUIPMENT_NAME"].ToString(),
                                                          dtInf.Rows[0]["LING_NAME"].ToString(),
                                                          dtInf.Rows[0]["PARAMETER"].ToString(),
                                                          dtInf.Rows[0]["SUPPLIER"].ToString()
                                                          );
                    db.ExecuteNonQuery(dbTrans, CommandType.Text, insertOrUpdate);

                    dbTrans.Commit();
                    FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, string.Empty);
                }
                else
                {
                    FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, "保存清单信息为空!");
                }
            }
            catch (Exception ex)
            {
                dbTrans.Rollback();
                FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(retDS, ex.Message);
                LogService.LogError("InsertNewInf Error: " + ex.Message);
            }
            return(retDS);
        }
        private async Task LogMapInUse(string username, bool expectSuccess = true, DateTimeOffset? startDate = null)
        {
            startDate = startDate ?? DateTimeOffset.Now;

            var logEntrySet = CreateMockLogEntrySet();
            var logPropertySet = CreateMockLogPropertySet();
            var context = CreateLoggingContext(logEntrySet.Object, logPropertySet.Object);

            var service = new LogService(context.Object);

            await service.LogMapInUse(username);

            if (expectSuccess)
            {
                logEntrySet.Verify(l => l.Add(It.Is<LogEntry>(le => CheckMapLogEntry(le, username, startDate.Value))));
                context.Verify(c => c.SaveChangesAsync());
            }
            else
            {
                logEntrySet.Verify(l => l.Add(It.IsAny<LogEntry>()), Times.Never);
                context.Verify(c => c.SaveChangesAsync(), Times.Never);
            }
        }
예제 #40
0
파일: LogServiceTest.cs 프로젝트: dun3/dun3
 public void TearDown()
 {
     m_service = null;
 }
        private async Task LogUserLoggedIn(string username, bool expectSuccess)
        {
            var logEntrySet = CreateMockLogEntrySet();
            var logPropertySet = CreateMockLogPropertySet();
            var context = CreateLoggingContext(logEntrySet.Object, logPropertySet.Object);

            var service = new LogService(context.Object);

            await service.LogUserLoggedIn(username);

            if (expectSuccess)
            {
                logEntrySet.Verify(l => l.Add(It.Is<LogEntry>(le => CheckUserLoggedInEntry(le, username))));
                context.Verify(c => c.SaveChangesAsync());
            }
            else
            {
                logEntrySet.Verify(l => l.Add(It.IsAny<LogEntry>()), Times.Never);
                context.Verify(c => c.SaveChangesAsync(), Times.Never);
            }
        }
 public void init()
 {
     log = new LogService();
     log.Debug("Start test");
 }
        [TestMethod]  //task is required for async TestMerhod return type. return type of void not supported
        public async Task Integration_LogDataContext_LogService_Log_await_GetDataCallInfoSelectionsAsync_Return_DataCallInfoDto()
        {
            bool caught = false;
            // context object LogDataContext matches the same name used for LogqsoData DB
            using (IDataContextAsync context = new ContestqsoDataContext())
            //IUnitOfWorkDataAsync and UnitOfWorkData are used in order for Dependency Injection to inject the DataDB
            using (IUnitOfWorkAsync unitOfWork = new UnitOfWork(context))
            {

                IRepositoryAsync<Log> _logRepository = new Repository<Log>(context, unitOfWork);

                var logService = new LogService(_logRepository);
                try
                {
                    List<DataCallInfoDto> Dtos = null;

                    //awaut cinverts Task<IEnumerable<DataCallInfoDto>> to IEnumerable<DataCallInfoDto>
                    IEnumerable<DataCallInfoDto> DataCallInfoDtos = await logService.GetDataCallInfoSelectionsAsync("default");
                    //GetDataCallInfoSelections() is  async method of Logservice.
                    //awaut on logService.GetDataCallInfoSelections() runs asynchronously
                    //converts return type toTask<IEnumerable<DataCallInfoDto>> to IEnumerable<DataCallInfoDto>
                    //it will return a IEnumerable<DataCallInfoDto>
                    //This must be converted to a List<DataCallInfoDto> that is used in the asseert.
                    Dtos = DataCallInfoDtos as List<DataCallInfoDto>;

                    Assert.IsNotNull(Dtos);
                    Assert.IsInstanceOfType(DataCallInfoDtos, typeof(IEnumerable<DataCallInfoDto>));
                    Assert.IsInstanceOfType(Dtos[0].RadioNames, typeof(ICollection<RadioNamestype>));
                    Assert.IsInstanceOfType(Dtos[0].StationNames, typeof(ICollection<StationNamestype>));
                    Assert.IsInstanceOfType(Dtos[0].ContestNames, typeof(ICollection<ContestNamestype>));
                    Assert.AreNotEqual(Dtos[0].SelectedCall, string.Empty);
                    var LogIDDto = Dtos.Where(x => x.LogId == 1).SingleOrDefault();
                    Assert.IsNotNull(LogIDDto);
                    Assert.AreEqual(1, LogIDDto.LogId );
                }
                catch (Exception ex)
                {
                    TestContext.WriteLine(string.Format("Integration_LogDataContext_LogService_Log_await_GetDataCallInfoSelections_Return_DataCallInfoDtoo exception {0}", ex.Message));
                    caught = true;
                }
                Assert.IsFalse(caught);  //exception

            }
        }
예제 #44
0
        public AbstractTerminal(TerminalInitializeInfo info)
        {
            TerminalEmulatorPlugin.Instance.LaterInitialize();

            _session = info.Session;

            //_invalidateParam = new InvalidateParam();
            _document = new TerminalDocument(info.InitialWidth, info.InitialHeight);
            _document.SetOwner(_session.ISession);
            _afterExitLockActions = new List<AfterExitLockDelegate>();

            _decoder = new ISO2022CharDecoder(this, EncodingProfile.Get(info.Session.TerminalSettings.Encoding));
            _terminalMode = TerminalMode.Normal;
            _currentdecoration = TextDecoration.Default;
            _manipulator = new GLineManipulator();
            _scrollBarValues = new ScrollBarValues();
            _logService = new LogService(info.TerminalParameter, _session.TerminalSettings);
            _promptRecognizer = new PromptRecognizer(this);
            _intelliSense = new IntelliSense(this);
            _commandResultRecognizer = new PopupStyleCommandResultRecognizer(this);

            if (info.Session.TerminalSettings.LogSettings != null)
                _logService.ApplyLogSettings(_session.TerminalSettings.LogSettings, false);

            //event handlers
            ITerminalSettings ts = info.Session.TerminalSettings;
            ts.ChangeEncoding += delegate(EncodingType t) {
                this.Reset();
            };
            ts.ChangeRenderProfile += delegate(RenderProfile prof) {
                TerminalControl tc = _session.TerminalControl;
                if (tc != null)
                    tc.ApplyRenderProfile(prof);
            };
        }
 public CommandAuthorizationException(string message)
     : base(message)
 {
     LogService.Log("CommandAuthorizationException", message);
 }
예제 #46
0
        public DataSet GetMatEquipmentStore(string facKey, string equipmentKey, string operationName,
                                            string lineKey, string parameterKey,
                                            string matCode, string orderNumber, string _type)
        {
            string  msg      = string.Empty;
            DataSet dsReturn = new DataSet();

            try
            {
                string sql = string.Empty;
                if (_type.Equals("BindWorkOrder"))
                {
                    sql = @"SELECT DISTINCT ORDER_NUMBER FROM  dbo.WST_STORE_MATERIAL_EQUIPMENT_STORE
                                WHERE STATUS = 1";
                    if (!string.IsNullOrEmpty(facKey))
                    {
                        sql += string.Format(@" AND FACTORY_KEY = '{0}' ", facKey);
                    }
                    if (!string.IsNullOrEmpty(equipmentKey))
                    {
                        sql += string.Format(@" AND EQUIPMENT_KEY = '{0}' ", equipmentKey);
                    }
                    if (!string.IsNullOrEmpty(operationName))
                    {
                        sql += string.Format(@" AND OPERATION_NAME = '{0}' ", operationName);
                    }
                    if (!string.IsNullOrEmpty(lineKey))
                    {
                        sql += string.Format(@" AND LINE_KEY ='{0}' ", lineKey);
                    }
                    if (!string.IsNullOrEmpty(parameterKey))
                    {
                        sql += string.Format(@" AND PARAMETER_KEY = '{0}' ", parameterKey);
                    }
                }
                if (_type.Equals("BindMatCode"))
                {
                    sql = @"SELECT DISTINCT A.MATERIAL_CODE,B.DESCRIPTION FROM dbo.WST_STORE_MATERIAL_EQUIPMENT_STORE A
                                    LEFT JOIN POR_WORK_ORDER_BOM B ON A.ORDER_NUMBER = B.ORDER_NUMBER AND A.MATERIAL_CODE = B.MATERIAL_CODE
                                    WHERE STATUS = 1";
                    if (!string.IsNullOrEmpty(facKey))
                    {
                        sql += string.Format(@" AND FACTORY_KEY = '{0}' ", facKey);
                    }
                    if (!string.IsNullOrEmpty(equipmentKey))
                    {
                        sql += string.Format(@" AND EQUIPMENT_KEY = '{0}' ", equipmentKey);
                    }
                    if (!string.IsNullOrEmpty(operationName))
                    {
                        sql += string.Format(@" AND OPERATION_NAME = '{0}' ", operationName);
                    }
                    if (!string.IsNullOrEmpty(lineKey))
                    {
                        sql += string.Format(@" AND LINE_KEY ='{0}' ", lineKey);
                    }
                    if (!string.IsNullOrEmpty(parameterKey))
                    {
                        sql += string.Format(@" AND PARAMETER_KEY = '{0}' ", parameterKey);
                    }
                    if (!string.IsNullOrEmpty(orderNumber))
                    {
                        sql += string.Format(@" AND A.ORDER_NUMBER = '{0}' ", orderNumber);
                    }
                }
                if (_type.Equals("BindSupplierCode"))
                {
                    sql = @"SELECT  SUPPLIER_CODE,SUM_QTY,SUPPLIER FROM  dbo.WST_STORE_MATERIAL_EQUIPMENT_STORE
                                WHERE STATUS = 1";
                    if (!string.IsNullOrEmpty(facKey))
                    {
                        sql += string.Format(@" AND FACTORY_KEY = '{0}' ", facKey);
                    }
                    if (!string.IsNullOrEmpty(equipmentKey))
                    {
                        sql += string.Format(@" AND EQUIPMENT_KEY = '{0}' ", equipmentKey);
                    }
                    if (!string.IsNullOrEmpty(operationName))
                    {
                        sql += string.Format(@" AND OPERATION_NAME = '{0}' ", operationName);
                    }
                    if (!string.IsNullOrEmpty(lineKey))
                    {
                        sql += string.Format(@" AND LINE_KEY ='{0}' ", lineKey);
                    }
                    if (!string.IsNullOrEmpty(parameterKey))
                    {
                        sql += string.Format(@" AND PARAMETER_KEY = '{0}' ", parameterKey);
                    }
                    if (!string.IsNullOrEmpty(orderNumber))
                    {
                        sql += string.Format(@" AND ORDER_NUMBER = '{0}' ", orderNumber);
                    }
                    if (!string.IsNullOrEmpty(matCode))
                    {
                        sql += string.Format(@" AND MATERIAL_CODE = '{0}' ", matCode);
                    }
                }
                if (_type.Equals("BindMblnr"))
                {
                    sql = @"SELECT DISTINCT MBLNR FROM  dbo.WST_STORE_MATERIAL_SENDING
                                WHERE STATUS = 1";
                    if (!string.IsNullOrEmpty(facKey))
                    {
                        sql += string.Format(@" AND FACTORY_KEY = '{0}' ", facKey);
                    }
                    if (!string.IsNullOrEmpty(equipmentKey))
                    {
                        sql += string.Format(@" AND EQUIPMENT_KEY = '{0}' ", equipmentKey);
                    }
                    if (!string.IsNullOrEmpty(operationName))
                    {
                        sql += string.Format(@" AND OPERATION_NAME = '{0}' ", operationName);
                    }
                    if (!string.IsNullOrEmpty(lineKey))
                    {
                        sql += string.Format(@" AND LINE_KEY ='{0}' ", lineKey);
                    }
                    if (!string.IsNullOrEmpty(parameterKey))
                    {
                        sql += string.Format(@" AND PARAMETER_KEY = '{0}' ", parameterKey);
                    }
                    if (!string.IsNullOrEmpty(orderNumber))
                    {
                        sql += string.Format(@" AND WORK_ORDER = '{0}' ", orderNumber);
                    }
                    if (!string.IsNullOrEmpty(matCode))
                    {
                        sql += string.Format(@" AND MATERIAL_CODE = '{0}' ", matCode);
                    }
                }
                dsReturn = db.ExecuteDataSet(CommandType.Text, sql);
                FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, string.Empty);
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, msg);
                LogService.LogError(string.Format("GetMatEquipmentStore Error:{0}", ex.Message));
            }
            return(dsReturn);
        }
예제 #47
0
 public LogService getLogService()
 {
     if (logService == null)
     {
         logService = new LogServiceImpl();
     }
     return logService;
 }
예제 #48
0
        public bool CrearDocumento(List <Ticket> pLstTicket, SAPbobsCOM.BoObjectTypes pObjType, string pStrTableBase, int pIntBaseType, string pStrTableDetail)
        {
            bool lBolIsSuccess = false;

            try
            {
                string lStrDocEntry   = string.Empty;
                string lStrCostCenter = GetCostCenter();
                List <TicketDetail>  lLstTicketDetail = new List <TicketDetail>();
                SAPbobsCOM.Documents lObjDocument     = (SAPbobsCOM.Documents)DIApplication.Company.GetBusinessObject(pObjType); //SAPbobsCOM.BoObjectTypes.oInvoices);
                foreach (Ticket lObjTicket in pLstTicket)
                {
                    if (pStrTableBase == "ORDR")
                    {
                        lObjDocument.DocObjectCodeEx = "13";
                    }

                    lStrDocEntry          = mObjQueryManager.GetValue("DocEntry", "DocNum", lObjTicket.Number.ToString(), pStrTableBase);
                    lObjDocument.CardCode = lObjTicket.BPCode;

                    if (lObjTicket.CapType == 0)
                    {
                        lObjDocument.DocObjectCode = BoObjectTypes.oInvoices;
                    }
                    lLstTicketDetail = mObjTicketDAO.GetListTicketDetail(lObjTicket.Folio) as List <TicketDetail>;
                    if (pStrTableBase == "OINV")
                    {
                        // lLstTicketDetail = AdjustmentTicket(pLstTicket, true, false);
                    }
                    if (pStrTableBase == "OPCH")
                    {
                        //lLstTicketDetail = AdjustmentTicket(pLstTicket, false, false);
                    }

                    for (int i = 0; i < lLstTicketDetail.Count; i++)
                    {
                        if (lObjTicket.Number != 0 && VerifyDocItem(lStrDocEntry, lLstTicketDetail[i].Item, pStrTableDetail))
                        {
                            lObjDocument.Lines.BaseEntry = int.Parse(lStrDocEntry);
                            lObjDocument.Lines.BaseLine  = lLstTicketDetail[i].BaseLine;
                            lObjDocument.Lines.BaseType  = pIntBaseType;
                        }
                        // lObjDocument.Lines.AccountCode = "2180010000000";
                        if (lLstTicketDetail[i].netWeight < 0)
                        {
                            lLstTicketDetail[i].netWeight *= -1;
                        }

                        lObjDocument.Lines.ItemCode = lLstTicketDetail[i].Item;

                        lObjDocument.Lines.UnitsOfMeasurment = 0;
                        lObjDocument.Lines.UnitPrice         = lLstTicketDetail[i].Price;
                        lObjDocument.Lines.COGSCostingCode   = lStrCostCenter;

                        if (lObjTicket.CapType == 4)
                        {
                            lObjDocument.Lines.Quantity = 1;
                        }
                        else
                        {
                            lObjDocument.Lines.Quantity = lLstTicketDetail[i].netWeight;
                        }
                        lObjDocument.Lines.WarehouseCode = lLstTicketDetail[i].WhsCode;
                        // lObjDocument.Lines.ProjectCode = lObjTicket.Project;
                        lObjDocument.Lines.UserFields.Fields.Item("U_GLO_BagsBales").Value = lLstTicketDetail[i].BagsBales;
                        lObjDocument.Lines.UserFields.Fields.Item("U_PL_Ticket").Value     = lLstTicketDetail[i].Folio;
                        lObjDocument.Lines.Add();
                    }
                }
                if (lObjDocument.Add() != 0)
                {
                    UIApplication.ShowMessageBox(string.Format("Exception: {0}", DIApplication.Company.GetLastErrorDescription()));
                    LogService.WriteError("[ERROR]" + DIApplication.Company.GetLastErrorDescription());
                }
                else
                {
                    lBolIsSuccess = true;
                    LogService.WriteSuccess("[CrearDocumento] DocNum:" + lObjDocument.DocNum);
                    MemoryUtility.ReleaseComObject(lObjDocument);
                    UIApplication.ShowMessageBox(string.Format("Documento realizado correctamente"));
                }
            }
            catch (Exception ex)
            {
                UIApplication.ShowMessageBox(string.Format("Exception: {0}", ex.Message));
                LogService.WriteError("[CrearDocumento]" + ex.Message);
                LogService.WriteError(ex);
            }
            return(lBolIsSuccess);
        }
예제 #49
0
파일: LogServiceTest.cs 프로젝트: dun3/dun3
 public void SetUp()
 {
     m_service = new LogService();
 }
예제 #50
0
        /// <summary>
        /// 任务实体
        /// </summary>
        /// <param name="lastExecuteTime"></param>
        public override void Execute(DateTime?lastExecuteTime)
        {
            try
            {
                LogService.Info("任务开始", LogInfoCategory);

                DataTable m_dt = QA_QuestionBll.GetInstance().GetToEndList();
                if (m_dt != null && m_dt.Rows.Count > 0)
                {
                    int total = 0;
                    for (int i = 0; i < m_dt.Rows.Count; i++)
                    {
                        int       sysno    = int.Parse(m_dt.Rows[i]["sysno"].ToString());
                        DataTable m_answer = QA_AnswerBll.GetInstance().GetListByQuest(1, 10000, sysno, ref total);
                        m_answer.Columns.Add("commcount");
                        m_answer.Columns.Add("score");
                        int totalcomm  = 0;
                        int totallenth = 0;
                        int totallove  = 0;
                        int[,] tmpresult = new int[3, 2];
                        for (int j = 0; j < m_answer.Rows.Count; j++)
                        {
                            totallenth += m_answer.Rows[j]["Context"].ToString().Length;
                            totallove  += int.Parse(m_answer.Rows[j]["Love"].ToString());
                            DataTable m_comm = QA_CommentBll.GetInstance().GetListByAnswer(int.Parse(m_answer.Rows[j]["SysNo"].ToString()));
                            totalcomm += m_comm.Rows.Count;
                            m_answer.Rows[j]["commcount"] = m_comm.Rows.Count.ToString();
                            m_answer.Rows[j]["score"]     = 0;
                        }

                        for (int j = 0; j < m_answer.Rows.Count; j++)
                        {
                            double tmp = Convert.ToDouble(m_answer.Rows[j]["Context"].ToString().Length *m_answer.Rows.Count) / Convert.ToDouble(totallenth);
                            tmp -= 1;
                            if (tmp > 0)
                            {
                                m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 10;
                            }

                            tmp  = Convert.ToDouble(m_answer.Rows[j]["Love"].ToString()) * Convert.ToDouble(m_answer.Rows.Count) / Convert.ToDouble(totallove);
                            tmp -= 1;
                            if (tmp > 0)
                            {
                                m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 5;
                            }

                            tmp  = Convert.ToDouble(m_answer.Rows[j]["commcount"].ToString()) * Convert.ToDouble(m_answer.Rows.Count) / Convert.ToDouble(totalcomm);
                            tmp -= 1;
                            if (tmp > 0)
                            {
                                m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 3;
                            }
                        }

                        TransactionOptions options = new TransactionOptions();
                        options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
                        options.Timeout        = TransactionManager.DefaultTimeout;

                        using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options))
                        {
                            m_answer.DefaultView.Sort = "award asc, score desc";
                            DataTable dtTemp = m_answer.DefaultView.ToTable();
                            if (dtTemp.Rows.Count == 1)
                            {
                                QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), int.Parse(m_dt.Rows[i]["Award"].ToString()) - QA_AnswerBll.GetInstance().GetUsedAward(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())));
                            }
                            else
                            {
                                int awardremain = int.Parse(m_dt.Rows[i]["Award"].ToString()) - QA_AnswerBll.GetInstance().GetUsedAward(int.Parse(dtTemp.Rows[0]["SysNo"].ToString()));
                                int award1      = awardremain * int.Parse(m_dt.Rows[0]["score"].ToString()) / (int.Parse(m_dt.Rows[0]["score"].ToString()) + int.Parse(m_dt.Rows[1]["score"].ToString()));
                                int award2      = awardremain - award1;
                                QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), award1);
                                QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[1]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), award2);
                            }

                            USR_MessageMod m_notice = new USR_MessageMod();
                            m_notice.CustomerSysNo = int.Parse(m_dt.Rows[i]["CustomerSysNo"].ToString());
                            m_notice.Title         = AppConst.AutoSendAward.Replace("@url", AppConfig.HomeUrl() + "Quest/Question.aspx?id=" + m_dt.Rows[i]["SysNo"].ToString())
                                                     .Replace("@question", m_dt.Rows[i]["Title"].ToString());
                            m_notice.DR      = 0;
                            m_notice.IsRead  = 0;
                            m_notice.Context = "";
                            m_notice.TS      = DateTime.Now;
                            m_notice.Type    = (int)AppEnum.MessageType.notice;
                            USR_MessageBll.GetInstance().AddMessage(m_notice);

                            scope.Complete();
                            //EventLog.WriteEntry("Hi,I'm wiseman");
                        }
                    }
                }
                LogService.Info("任务结束", LogInfoCategory);
            }
            catch (Exception ex)
            {
                LogService.Error("RewardTask 任务失败", LogInfoCategory);
                LogService.Error(ex, LogInfoCategory);
            }
            finally
            {
                this.NextExecuteTime = DateTime.Now.AddHours(1);
            }
        }
예제 #51
0
        public override void ResponseReceived(byte[] parameter)
        {
            Serializer serializer;

            switch ((TaskManagerCommunication)parameter[0])
            {
            case TaskManagerCommunication.ResponseFullList:
                Processes?.ToList().ForEach(x => x.Dispose());
                serializer    = new Serializer(typeof(List <AdvancedProcessInfo>));
                _allProcesses =
                    new List <AdvancedProcessInfo>(
                        serializer.Deserialize <List <AdvancedProcessInfo> >(parameter, 1));
                RecreateProcessList();
                LogService.Receive(string.Format((string)Application.Current.Resources["ReceivedProcesses"],
                                                 _allProcesses.Count, FormatBytesConverter.BytesToString(parameter.Length - 1)));
                RefreshList?.Invoke(this, Processes);
                break;

            case TaskManagerCommunication.ResponseChanges:
                serializer = new Serializer(typeof(ProcessListChangelog));
                var changelog = serializer.Deserialize <ProcessListChangelog>(parameter, 1);

                foreach (
                    var process in
                    changelog.ClosedProcesses.Select(
                        closedProcess => _allProcesses.FirstOrDefault(x => x.Id == closedProcess))
                    .Where(process => process != null))
                {
                    process.Dispose();
                    _allProcesses.Remove(process);
                }
                foreach (var processInfo in changelog.NewProcesses)
                {
                    _allProcesses.Add(new AdvancedProcessInfo(processInfo));
                }
                RecreateProcessList();
                LogService.Receive(string.Format((string)Application.Current.Resources["ReceivedChanges"],
                                                 changelog.ClosedProcesses.Count, changelog.NewProcesses.Count));
                RefreshList?.Invoke(this, Processes);
                break;

            case TaskManagerCommunication.ResponseTaskKillFailed:
                LogService.Error(string.Format((string)Application.Current.Resources["TaskKillFailed"],
                                               Encoding.UTF8.GetString(parameter, 1, parameter.Length - 1)));
                break;

            case TaskManagerCommunication.ResponseTaskKilled:
                LogService.Receive((string)Application.Current.Resources["TaskSuccessfulKilled"]);
                break;

            case TaskManagerCommunication.ResponsePrioritySet:
                LogService.Receive((string)Application.Current.Resources["PrioritySet"]);
                break;

            case TaskManagerCommunication.ResponseSetPriorityFailed:
                LogService.Error(string.Format((string)Application.Current.Resources["SetPriorityFailed"],
                                               Encoding.UTF8.GetString(parameter, 1, parameter.Length - 1)));
                break;

            case TaskManagerCommunication.ResponseProcessTreeKilled:
                LogService.Receive((string)Application.Current.Resources["ProcessTreeKilled"]);
                break;

            case TaskManagerCommunication.ResponseProcessSuspended:
                LogService.Receive((string)Application.Current.Resources["ProcessSuspended"]);
                break;

            case TaskManagerCommunication.ResponseProcessResumed:
                LogService.Receive((string)Application.Current.Resources["ProcessResumed"]);
                break;

            case TaskManagerCommunication.ResponseWindowActionDone:
                LogService.Receive((string)Application.Current.Resources["ChangeWindowStateSucceeded"]);
                break;

            case TaskManagerCommunication.ResponseWindowActionFailed:
                LogService.Error((string)Application.Current.Resources["ChangeWindowStateFailed"]);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
예제 #52
0
        /// <summary>
        /// 批次撤销操作。
        /// </summary>
        /// <param name="dsParams">包含撤销操作信息的数据集对象。</param>
        /// <returns>
        /// 包含结果数据的数据集对象。
        /// </returns>
        public DataSet LotUndo(DataSet dsParams)
        {
            DataSet dsReturn = new DataSet();

            try
            {
                //参数数据。
                if (dsParams == null ||
                    !dsParams.Tables.Contains(WIP_TRANSACTION_FIELDS.DATABASE_TABLE_NAME)               //存放操作数据
                    )
                {
                    ReturnMessageUtils.AddServerReturnMessage(dsReturn, "传入参数不正确,请检查。");
                    return(dsReturn);
                }
                DataTable dtTransaction = dsParams.Tables[WIP_TRANSACTION_FIELDS.DATABASE_TABLE_NAME];  //存放操作数据
                //检查是否存在重复的批次主键。
                var lnq = from item in dtTransaction.AsEnumerable()
                          group item by item[WIP_TRANSACTION_FIELDS.FIELD_PIECE_KEY] into g
                          where g.Count() > 1
                          select g.Count();

                if (lnq.Count() > 0)
                {
                    ReturnMessageUtils.AddServerReturnMessage(dsReturn, "存在重复记录,请检查。");
                    return(dsReturn);
                }
                //检查记录是否过期。防止重复修改。
                foreach (DataRow drTransaction in dtTransaction.Rows)
                {
                    string opEditTime = Convert.ToString(drTransaction[WIP_TRANSACTION_FIELDS.FIELD_EDIT_TIME]);   //操作前批次编辑时间
                    string lotKey     = Convert.ToString(drTransaction[WIP_TRANSACTION_FIELDS.FIELD_PIECE_KEY]);   //批次主键
                    string editor     = Convert.ToString(drTransaction[WIP_TRANSACTION_FIELDS.FIELD_EDITOR]);      //编辑人
                    string timeZone   = Convert.ToString(drTransaction[WIP_TRANSACTION_FIELDS.FIELD_EDITOR]);      //编辑时区
                    //检查记录是否过期。防止重复修改。
                    KeyValuePair <string, string>         kvp           = new KeyValuePair <string, string>(POR_LOT_FIELDS.FIELD_LOT_KEY, lotKey);
                    List <KeyValuePair <string, string> > listCondition = new List <KeyValuePair <string, string> >();
                    listCondition.Add(kvp);
                    //如果记录过期,当前编辑时间<数据库中的记录编辑时间。结束方法执行。
                    if (UtilHelper.CheckRecordExpired(db, POR_LOT_FIELDS.DATABASE_TABLE_NAME, listCondition, opEditTime))
                    {
                        ReturnMessageUtils.AddServerReturnMessage(dsReturn, "信息已过期,请关闭该界面后重试。");
                        return(dsReturn);
                    }
                }
                StringBuilder sbMsg = new StringBuilder();
                //撤销批次操作。
                for (int i = 0; i < dtTransaction.Rows.Count; i++)
                {
                    DataRow drTransaction = dtTransaction.Rows[i];
                    using (DbConnection dbConn = db.CreateConnection())
                    {
                        try
                        {
                            dbConn.Open();
                            DbTransaction dbTran   = dbConn.BeginTransaction();
                            string        activity = Convert.ToString(drTransaction[WIP_TRANSACTION_FIELDS.FIELD_ACTIVITY]);
                            if (activity == ACTIVITY_FIELD_VALUES.FIELD_ACTIVITY_CREATELOT)
                            {
                                UndoCreateLot(dbTran, drTransaction);
                            }
                            else
                            {
                                UndoCommon(dbTran, drTransaction);
                            }
                            dbTran.Commit();
                        }
                        catch (Exception ex)
                        {
                            sbMsg.AppendFormat("失败:第{0}行处理失败 {1};", i + 1, ex.Message);
                        }
                    }
                }
                ReturnMessageUtils.AddServerReturnMessage(dsReturn, sbMsg.ToString());
            }
            catch (Exception ex)
            {
                ReturnMessageUtils.AddServerReturnMessage(dsReturn, ex.Message);
                LogService.LogError("LotUndo Error: " + ex.Message);
            }
            return(dsReturn);
        }
예제 #53
0
 public ScoreSheetEntryProcessor(LogService logger, LO30Context context)
 {
   //_logger = logger;
   _context = context;
   _timeService = new TimeService();
 }
예제 #54
0
        /// <summary>
        /// 执行退料。
        /// </summary>
        /// <param name="dsParams">
        /// 包含退料数据信息的数据集对象。
        /// 必须包含名称为<see cref=" TRANS_TABLES.TABLE_PARAM"/>的数据表,用于存储批次主信息的数据。
        /// 包含名称为<see cref=" WIP_SCRAP_FIELDS.DATABASE_TABLE_NAME"/>的数据表(可选),用于存储批次退料的数据。
        /// </param>
        /// <returns>包含执行结果的数据集。</returns>
        public DataSet SetLossBatteryB(DataSet dsParams)
        {
            DateTime      startTime = DateTime.Now;
            DataSet       dsReturn = new DataSet();
            DbConnection  dbConn = null;
            DbTransaction dbTran = null;
            string        lotKey = string.Empty, editor = string.Empty, editTimeZone = string.Empty, qty = string.Empty;

            try
            {
                dbConn = db.CreateConnection();
                dbConn.Open();
                //Create Transaction
                dbTran = dbConn.BeginTransaction();

                #region CheckExpired 检查记录是否过期。防止重复修改。
                if (dsParams.Tables.Contains(TRANS_TABLES.TABLE_PARAM))
                {
                    DataTable dtParams = dsParams.Tables[TRANS_TABLES.TABLE_PARAM];
                    Hashtable htParams = SolarViewer.Hemera.Share.Common.CommonUtils.ConvertToHashtable(dtParams);

                    lotKey       = htParams[POR_LOT_FIELDS.FIELD_LOT_KEY].ToString();
                    qty          = htParams[WIP_TRANSACTION_FIELDS.FIELD_QUANTITY_OUT].ToString();
                    editor       = htParams[WIP_TRANSACTION_FIELDS.FIELD_EDITOR].ToString();
                    editTimeZone = htParams[WIP_TRANSACTION_FIELDS.FIELD_EDIT_TIMEZONE_KEY].ToString();

                    string strEditTime = htParams[WIP_TRANSACTION_FIELDS.FIELD_EDIT_TIME].ToString();
                    KeyValuePair <string, string>         kvp           = new KeyValuePair <string, string>(POR_LOT_FIELDS.FIELD_LOT_KEY, lotKey);
                    List <KeyValuePair <string, string> > listCondition = new List <KeyValuePair <string, string> >();
                    listCondition.Add(kvp);
                    //如果记录过期,当前编辑时间<数据库中的记录编辑时间。结束方法执行。
                    if (UtilHelper.CheckRecordExpired(db, POR_LOT_FIELDS.DATABASE_TABLE_NAME, listCondition, strEditTime))
                    {
                        SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, COMMON_FIELDS.FIELD_COMMON_EDITTIME_EXP);
                        return(dsReturn);
                    }
                }
                #endregion

                //进行报废数据收集。
                //WipManagement.SetLossBonus(db, dbtran, dataset);
                WipManagement.SetLossBatter(db, dbTran, dsParams);//调用新的方法

                //更新批次数量。
                string sql = string.Format(@"UPDATE POR_LOT 
                                            SET QUANTITY='{0}',EDITOR='{1}',EDIT_TIME=GETDATE(),EDIT_TIMEZONE='{2}' 
                                            WHERE LOT_KEY='{3}'",
                                           qty.PreventSQLInjection(),
                                           editor.PreventSQLInjection(),
                                           editTimeZone.PreventSQLInjection(),
                                           lotKey.PreventSQLInjection());

                db.ExecuteNonQuery(dbTran, CommandType.Text, sql);

                dbTran.Commit();
                SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, "");
            }
            catch (Exception ex)
            {
                SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, ex.Message);
                LogService.LogError("SetLossBatteryB Error: " + ex.Message);
                dbTran.Rollback();
            }
            finally
            {
                dbConn.Close();
                dbTran.Dispose();
                dbConn.Dispose();
            }

            DateTime endTime = DateTime.Now;
            LogService.LogInfo("SetLossBatteryB Time: " + (endTime - startTime).TotalMilliseconds.ToString());
            return(dsReturn);
        }
예제 #55
-1
		public ChatViewModel(Window currentWindow)
		{
			this.currentWindow = currentWindow;
			CreateSendCommand();
			CreateCloseCommand();
			MessageViewService = new MessageViewService();
			MessageService = new MessageService(MessageViewService);
			LogService = new LogService(MessageViewService);
			UserService = new UserService(MessageViewService);

			DispatcherTimer t = new DispatcherTimer();
			t.Interval = new TimeSpan(2000);
			t.Tick += new EventHandler(t_Tick);
			t.Start();
		}