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 ); } }
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); }
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); }
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); }
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))); }
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()); }
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); } }
public override void SendResponse(EndPointOperationCode operationCode, ReturnCode returnCode, string debugMessage, Dictionary <byte, object> parameters) { LogService.FatalFormat("EndPoint SendResponse UserOperationCode: {0}", operationCode); }
/// <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()); }
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); } }
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); }
/*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; } }
public override void SendEvent(EndPointEventCode eventCode, Dictionary <byte, object> parameters) { LogService.FatalFormat("EndPoint SendEvent UserEventCode: {0}", eventCode); }
public VehicleRepository(IDatabaseContext conn, LogService logService) : base(conn, logService) { }
public LogController(LogService logService) { _logService = logService; }
public PickemDatabaseLoggerProvider(LogService logService) { _logService = logService; }
public AccountsController(AccountService service, LogService logService, EmailConfiguration emailConfiguration) { _service = service; _logService = logService; _emailConfiguration = emailConfiguration; }
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); } }
// 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; }
public void GetActiveConnections() { ConnectionInfo.SendCommand(this, new byte[0]); LogService.Send((string)Application.Current.Resources["ReceiveActiveConnections"]); }
/// <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); }
public void Stop() { watcher.Stop(); ping.Stop(); LogService.Clear(); }
public DeleteLogs() { _LogService = new LogService(); }
/// <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(); }
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--"); } } }
/// <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); } }
/// <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); }
/// <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); } }
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 } }
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); }
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); }
public LogService getLogService() { if (logService == null) { logService = new LogServiceImpl(); } return logService; }
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); }
public void SetUp() { m_service = new LogService(); }
/// <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); } }
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(); } }
/// <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); }
public ScoreSheetEntryProcessor(LogService logger, LO30Context context) { //_logger = logger; _context = context; _timeService = new TimeService(); }
/// <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); }
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(); }