Untitled
unknown
csharp
2 months ago
5.7 kB
4
Indexable
private async Task<SendTaskToTabletResponse> SendToUser(ITaskRepository taskRepository, IEventRepository eventRepository, ITeamRepository teamRepository, ISettingsRepository settingsRepository, IEventFlowRepository eventFlowRepository, IMapper mapper, ISMSService sMsService, IEngineeringCompanyService engineeringCompanyService, SaveSendingTeamsCommand request, SendTaskToTabletResponse saveResult) { var team = await teamRepository.GetByIdWithVehicleCartable(request.TeamId); var mapperTblEventFlow = mapper.Map<TblEventFlow>(request); mapperTblEventFlow.FlowDate = Utilities.Utilities.ToPersianDateString(DateTime.Now, true); mapperTblEventFlow.FlowTime = DateTime.Now.ToString("HH:mm"); mapperTblEventFlow.IsLatest = true; if (!request.IsCustomUser.HasValue || !request.IsCustomUser.Value) { mapperTblEventFlow.ManualReferenced = true; } else mapperTblEventFlow.ManualReferenced = false; mapperTblEventFlow.FlowStatus = 0; if (team != null && request.HasCartableDevice) { mapperTblEventFlow.ToUser = (int)team.SpecialistId!; mapperTblEventFlow.Imei = Convert.ToString(team.Vehicle.VehicleImei != null ? team.Vehicle.VehicleImei : team.Cartable.FamTeamId); if (team is { Specialist: not null, Driver: not null }) mapperTblEventFlow.EquippeNames = team.Specialist.UserName + ", " + team.Driver.UserName; var tblEventFlow = await eventFlowRepository.AddAsync(mapperTblEventFlow); await taskRepository.SetPreviousTasksLatestStatusAsync(request.EventInsId); var mapperTblTask = mapper.Map<TblTask>(request); mapperTblTask.EventFlowId = tblEventFlow.Id; mapperTblTask.TaskStartDate = Utilities.Utilities.ToPersianDateString(DateTime.Now, true); mapperTblTask.TaskStartTime = DateTime.Now.ToString("HH:mm"); mapperTblTask.TaskStartDateTime = DateTime.Now; mapperTblTask.IsDeleted = false; mapperTblTask.TaskStatus = (int)TaskStatus.ToBeDelivered; mapperTblTask.NotDoneByEquippe = false; mapperTblTask.IsLatest = true; mapperTblTask.IsScheduled = false; mapperTblTask.CanSetLocationManually = false; mapperTblTask.InsertDateTime = DateTime.Now; var tblTask = await taskRepository.AddAsync(mapperTblTask); TblEventIns? tblevent = await eventRepository.GetByIdAsync(request.EventInsId); if (tblevent != null) { tblevent.EventStatusId = (int)EventStatus.Inprogress; await eventRepository.UpdateAsync(tblevent); } //should resolve dependency on engineeringCompanyService EventChangeNotifier.Exec(tblevent.Id, engineeringCompanyService); saveResult.SendTaskToTablet.TaskId = tblTask.Id; saveResult.SendTaskToTablet.EventFlowID = tblEventFlow.Id; saveResult.SendTaskToTablet.TeamID = request.TeamId; saveResult.SendTaskToTablet.OutageEventID = request.EventInsId; } else { var @event = eventRepository.Get(on => on.Id == request.EventInsId).Select(t => new { t.ConsumerIns.MobileNo, t.ConsumerIns.ConsumerTel, t.ConsumerIns.ConsumerName }).FirstOrDefault(); RecipientInfo[] Recipients = { new() { FullName = @event.ConsumerName, PhoneNumber = !string.IsNullOrWhiteSpace(@event.MobileNo) ? @event.MobileNo : !string.IsNullOrWhiteSpace(@event.ConsumerTel) ? @event.ConsumerTel.StartsWith("09") || @event.ConsumerTel.StartsWith("9") ? @event.ConsumerTel : "" : "" } }; var setting = await settingsRepository.GetByNameEnAsync("MessageBodyAfterSendingTeam"); if (setting != null && !string.IsNullOrWhiteSpace(setting.Value)) { MessageRecipientInfo[] messageRecipientInfos = { new() { MessageText = string.Format(setting.Value,request.EventInsId), // $"مشترک گرامی اکیپ امداد برای حادثه شماره {request.EventInsId} اعزام شد مرکز ۱۲۲ شرکت آب و فاضلاب استان تهران", Sender = _smservicesettings.FaultDetectorSender, Recipients = Recipients } }; var message = new MessageRecipients { messageList = messageRecipientInfos, requiresReply = false }; sMsService.SendMessage(message); } } return saveResult; }
Editor is loading...
Leave a Comment