public Sender(SyncOptions syncOptions, ILogger logger) { _logger = logger; _pathScanner = new PathScanner(this); _sentReporter = new SentReporter(_logger); _srcPath = Path.GetFullPath(syncOptions.SourcePath); _cancellationTokenSource = new CancellationTokenSource(); if (!Directory.Exists(_srcPath)) { throw new SyncException($"Invalid source path: {_srcPath}"); } _excludeList = new FileMaskList(); _excludeList.SetList(syncOptions.ExcludeList); _changes = new Dictionary <string, FsSenderChange>(); _needToScan = true; _agentStarter = AgentStarter.Create(syncOptions, _logger); _logger.Log($"Sync {syncOptions}"); _applyRequest = new ApplyRequest(_logger) { BasePath = _srcPath, }; UpdateHasWork(); }
public void SetUp() { _opportunityId = _fixture.Create <int>(); _accountId = _fixture.Create <long>(); _request = _fixture.Create <ApplyRequest>(); _result = _fixture.Create <CreateApplicationCommandResult>(); _mediator = new Mock <IMediator>(); _controller = new OpportunityController(Mock.Of <ILogger <OpportunityController> >(), _mediator.Object); _mediator.Setup(x => x.Send(It.Is <CreateApplicationCommand>(command => command.PledgeId == _opportunityId && command.EmployerAccountId == _accountId && command.EncodedAccountId == _request.EncodedAccountId && command.Details == _request.Details && command.StandardId == _request.StandardId && command.NumberOfApprentices == _request.NumberOfApprentices && command.StartDate == _request.StartDate && command.HasTrainingProvider == _request.HasTrainingProvider && command.Sectors.Equals(_request.Sectors) && command.Locations.Equals(_request.Locations) && command.AdditionalLocation == _request.AdditionalLocation && command.SpecificLocation == _request.SpecificLocation && command.FirstName == _request.FirstName && command.LastName == _request.LastName && command.EmailAddresses.Equals(_request.EmailAddresses) && command.BusinessWebsite == _request.BusinessWebsite && command.UserId == _request.UserId && command.UserDisplayName == _request.UserDisplayName ), It.IsAny <CancellationToken>())) .ReturnsAsync(_result); }
public async Task <IActionResult> Apply(long accountId, int opportunityId, [FromBody] ApplyRequest request) { var result = await _mediator.Send(new CreateApplicationCommand { EmployerAccountId = accountId, PledgeId = opportunityId, EncodedAccountId = request.EncodedAccountId, Details = request.Details, StandardId = request.StandardId, NumberOfApprentices = request.NumberOfApprentices, StartDate = request.StartDate, HasTrainingProvider = request.HasTrainingProvider, Sectors = request.Sectors, Locations = request.Locations, AdditionalLocation = request.AdditionalLocation, SpecificLocation = request.SpecificLocation, FirstName = request.FirstName, LastName = request.LastName, EmailAddresses = request.EmailAddresses, BusinessWebsite = request.BusinessWebsite, UserId = request.UserId, UserDisplayName = request.UserDisplayName }); return(Created($"/accounts/{accountId}/opportunities/{opportunityId}/apply", (ApplyResponse)result)); }
public static int VacationTotalLength(this ApplyRequest model) { if (model?.StampReturn == null || !model.StampLeave.HasValue) { return(0); } return(model.StampReturn.Value.Subtract(model.StampLeave.Value).Days + 1); }
public async Task <DistributionTask> Apply([FromBody] ApplyRequest request) { operationHelper.Connect(connectionSettings, request.EnvironmentInfoId); return(await new DistributionService(operationHelper).ApplyAsync( request.Id, request.ApplyDate, request.IsIndefinitePeriod, request.IsUserCreateDateBeforeApproval)); }
public Packet Run(Packet request) { try { return(request switch { ScanRequest _ => RunScan(), InitRequest initRequest => RunInit(initRequest), ApplyRequest applyRequest => RunApply(applyRequest), _ => throw new SyncException($"Unknown command {request.GetType()}"), }); }
void IDataSender.ApplyUserReq(ApplyRequest request) { Datagram datagram = new Datagram { DataType = DatagramType.Login, MessageType = LoginMessageType.ApplyUserReq, Datas = request.ToByteArray() }; if (!Send(datagram)) { RunningDatas.InfoNotify("网络连接失败 请重启软件后重试"); } }
/// <summary> /// 责任链模式 /// </summary> public static void ChainOfResponsibility() { var approver = new Manager("经理"); approver.NextApprover = new President("总经理"); Console.WriteLine("开始5000块钱的东西"); var request = new ApplyRequest(5000); approver.Approve(request); Console.WriteLine("开始审批20000块钱的东西"); request = new ApplyRequest(20000); approver.Approve(request); }
public static string RequestInfoVacationDescription(this ApplyRequest model) { if (model == null) { return("休假申请无效"); } var othersVacation = model.AdditialVacations.Sum(a => a.Length); var othersVacationDescription = new StringBuilder(); foreach (var ov in model.AdditialVacations) { othersVacationDescription.Append(ov.Name).Append(ov.Length).Append("天 "); } return($"共计{model.VacationTotalLength()}天(其中{model.VacationType}{model.VacationLength}天,路途{model.OnTripLength}天 {othersVacationDescription.ToString()})"); }
public object ApplyAllGroupPermissions(ApplyRequest request) { // Variables. var failureReason = default(string); var userService = Services.UserService; var user = userService.GetUserById(request.UserId); var success = true; // User found? if (user == null) { success = false; failureReason = UserNotFound; } // Copy permissions. if (success) { _userTypePermissionsService.CopyPermissionsForSingleUser(user); } // Indicate success or failure. if (success) { return new { Success = true }; } else { return new { Success = false, Reason = failureReason }; } }
public object ApplyAllGroupPermissions(ApplyRequest request) { // Variables. var failureReason = default(string); var userService = Services.UserService; var user = userService.GetUserById(request.UserId); var success = true; // User found? if (user == null) { success = false; failureReason = UserNotFound; } // Copy permissions. if (success) { _userTypePermissionsService.CopyPermissionsForSingleUser(user); } // Indicate success or failure. if (success) { return(new { Success = true }); } else { return(new { Success = false, Reason = failureReason }); } }
public void AddApply(Guid sender, ApplyRequest request) { VisitTime = DateTime.Now; Invaild = false; string applicat = IKXTServer.DataConvert.GetString(sender); JArray array = Json["Applies"] as JArray; for (int i = 0; i < array.Count; ++i) { JObject obj = array[i] as JObject; if (obj["applicat"].ToString() == applicat) { if (obj["type"].ToString() == "group") { if (obj["group"].ToString() == request.TargetID) { array.RemoveAt(i); break; } } else { array.RemoveAt(i); break; } } } array.Add(new JObject { { "type", request.TargetType == ApplyRequest.TargetType_Friend ? "friend" : "group" }, { "group", request.TargetID }, { "applicat", applicat }, { "message", request.Message }, { "time", request.ApplyTime.ToString() } }); }
public void AddApply(Guid sender, string target, ApplyRequest request) { try { if (!Cache.TryGetValue(target, out KXTUserAppliesFile file)) { file = new KXTUserAppliesFile ( RootPath + "\\" + target + ".json" ); Cache.TryAdd(target, file); } file.AddApply(sender, request); file.Flush(); } catch { Notify(LogLevel.Warning, "用户申请数据操作异常:文件异常"); } }
public async Task <ActionResult <int> > CreateApply(ApplyRequest request) { var stu_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(stu_id) != Role.Student) { return(BadRequest(new { message = "CreateApply is for students." })); } int check_apply = await ApplyAccessor.CheckApply(stu_id, request.work_id); if (check_apply == 1) { // 已通过改工作的申请 return(Ok(-21)); } else if (check_apply == 2) { // 正在申请该工作 return(Ok(-22)); } var temp = _mapper.Map <ApplyEntity>(request); temp.student_id = stu_id; temp.teacher_id = await WorkAccessor.GetTeacher(temp.work_id); temp.resume_id = await ResumeAccessor.GetResume(temp.student_id); if (temp.resume_id == -1) { return(Ok(-10)); } var ans = await ApplyAccessor.Create(temp); if (ans > 0) { return(Ok(ans)); } return(Ok(-1)); }
private Packet Apply(ApplyRequest req) { Log(0, "Outlook更新開始"); var res = new ApplyResponse() { CalendarItems = new CalendarItemCollection() }; foreach (var calendarItem in req.CalendarItems) { try { if (calendarItem.Changed == false) { res.CalendarItems.Add(calendarItem); } else if (calendarItem.Cancelled) { DeleteItem(calendarItem); } else if (calendarItem.ID == string.Empty) { CreateItem(calendarItem); res.CalendarItems.Add(calendarItem); } else { UpdateItem(calendarItem); res.CalendarItems.Add(calendarItem); } } catch (Exception ex) { Log(0, ex); } } Log(0, "Outlook更新完了"); return(res); }
public ApplyRequest SubmitRequestAsync(User targetUser, ApplyRequestVdto model) { if (model == null) { return(null); } var vacationInfo = usersService.VacationInfo(targetUser, model?.StampLeave?.Year ?? DateTime.Now.XjxtNow().Year, model.IsPlan ? MainStatus.IsPlan : MainStatus.Normal); if (vacationInfo.Description == null || vacationInfo.Description.Contains("无休假")) { throw new ActionStatusMessageException(new ApiResult(ActionStatusMessage.ApplyMessage.Request.HaveNoVacationSinceExcept, vacationInfo.Description ?? "休假信息生效中", true)); } model = CaculateVacation(model); var type = model.VacationType; if (type?.Disabled ?? true) { throw new ActionStatusMessageException(ActionStatusMessage.ApplyMessage.Request.InvalidVacationType); } if (type.Primary) { // 剩余天数判断 if (model.VacationLength > vacationInfo.LeftLength) { throw new ActionStatusMessageException(new ApiResult(ActionStatusMessage.ApplyMessage.Request.NoEnoughVacation, $"超出{model.VacationLength - vacationInfo.LeftLength}天", true)); } // 剩余路途次数判断 if (model.OnTripLength < 0) { throw new ActionStatusMessageException(ActionStatusMessage.ApplyMessage.Request.Default); } } // 不允许未休完正休假前休某些假 else if (!type.AllowBeforePrimary && vacationInfo.LeftLength > 0) { throw new ActionStatusMessageException(new ApiResult(ActionStatusMessage.ApplyMessage.Request.BeforePrimaryNotAllow, $"({type.Alias})", true)); } // 路途判断 if (type.CanUseOnTrip) { if (model.OnTripLength > 0 && vacationInfo.MaxTripTimes <= vacationInfo.OnTripTimes) { throw new ActionStatusMessageException(ActionStatusMessage.ApplyMessage.Request.TripTimesExceed); } } else { model.OnTripLength = 0; } // 休假天数范围判断 if (model.VacationLength < type.MinLength) { throw new ActionStatusMessageException(ActionStatusMessage.ApplyMessage.Request.VacationLengthTooShort); } if (model.VacationLength > type.MaxLength) { throw new ActionStatusMessageException(ActionStatusMessage.ApplyMessage.Request.VacationLengthTooLong); } // 福利假判断 if (!type.CaculateBenefit) { model.VacationAdditionals = null; } // 跨年假判断 if (type.NotPermitCrossYear) { if (model.StampReturn.Value.Year != model.StampLeave.Value.Year) { throw new ActionStatusMessageException(ActionStatusMessage.ApplyMessage.Request.NotPermitCrossYear); } } var r = new ApplyRequest() { OnTripLength = model.OnTripLength, Reason = model.Reason, StampLeave = model.StampLeave, StampReturn = model.StampReturn, VacationLength = model.VacationLength, VacationPlace = model.VacationPlace, VacationPlaceName = model.VacationPlaceName, VacationType = model.VacationType.Name, CreateTime = DateTime.Now, ByTransportation = model.ByTransportation, AdditialVacations = model.VacationAdditionals, VacationDescription = vacationInfo.Description }; context.ApplyRequests.Add(r); context.SaveChanges(); return(r); }