public override void OnTokenRefresh() { var refreshedToken = FirebaseInstanceId.Instance.Token; Log.Debug(TAG, "Refreshed token: " + refreshedToken); FCMService.CheckStoredToken(refreshedToken); MessageReceived(refreshedToken); }
public bool SaveAPIOrder(Model.Order modelData, string customerOrderMailContent, string surgeryOrderMailContent, FCMNotificationModel FCMModelData) { bool bSuccess = false; try { ProOrder orderData; orderData = new ProOrder(); orderData.CreatedOn = DateTime.Now; orderData.CreatedBy = modelData.CreatedBy; orderData.CompanyId = modelData.CompanyId; orderData.BranchId = modelData.BranchId; orderData.OrderDate = DateTime.Now; orderData.OrderTypeId = modelData.OrderTypeId; orderData.PickupTypeId = modelData.PickupTypeId; orderData.OrderStatus = (int)OrderStatus.Requested; orderData.RequestPrescription = modelData.RequestPrescription; orderData.Customer = customerRepository.GetCustomer(modelData.CustomerId); orderData.DocumentCaption = modelData.DocumentCaption; orderData.DocumentPath = modelData.DocumentPath; orderData.RecentDeliveryNote = modelData.RecentDeliveryNote; orderData.DeliveryNote = modelData.DeliveryNote; orderData.BranchNote = modelData.BranchNote; orderData.SurgeryNote = modelData.SurgeryNote; ProOrderDetail orderDetail; orderData.ProOrderDetail = new List <ProOrderDetail>(); string emailItems = string.Empty; bSuccess = orderRepository.SaveOrder(orderData, modelData); if (bSuccess) { if (orderData.CustomerId.HasValue) { var customerDtls = customerService.GetCustomer(orderData.CustomerId.Value); var branchDtls = branchRepositry.GetBranch(modelData.BranchId); var branchInfo = $@"<tr><td class='header-sm'>{branchDtls.BranchName}</td></tr><tr><td>{branchDtls.Address?.Address1}</td></tr><tr><td>{branchDtls.Address?.Address2}</td></tr> <tr><td>{branchDtls.Address.PostCode}</td></tr><tr><td>{branchDtls.Address.City}</td></tr>" ; //Send notification if (FCMModelData != null) { string orderUpdateSMSMessage = messageTemplateService.GetMessageTemplate(orderData.CompanyId.Value, (long)orderData.BranchId, (int)MessageTypes.SMS, (int)MessageEvents.OrderUpdate); string branchName = orderData.BranchId.HasValue ? branchRepositry.GetBranch((long)orderData.BranchId).BranchName : string.Empty; //FCMModelData.Notification = string.Format(ResourceService.Resource.GetMessage("NMOrderCreation"), orderData.OrderId); FCMModelData.Notification = string.Format(orderUpdateSMSMessage, ResourceService.Resource.GetCaption(((OrderStatus)orderData.OrderStatus).ToString()), orderData.OrderId, customerDtls?.Mobile, branchName); FCMService.SaveFCMNotificationUser(FCMModelData); FCMModelData.CompanyId = orderData.CompanyId.Value; FCMModelData.BranchId = orderData.BranchId; //FCMModelData.Notification = string.Format(ResourceService.Resource.GetMessage("NMOrderStatusChangeForDriver"), orderData.OrderId, ResourceService.Resource.GetCaption(((OrderStatus)orderData.OrderStatus).ToString()), customerDtls?.Mobile); FCMModelData.Notification = string.Format(orderUpdateSMSMessage, ResourceService.Resource.GetCaption(((OrderStatus)orderData.OrderStatus).ToString()), orderData.OrderId, customerDtls?.Mobile, branchName); FCMService.SaveFCMNotificationDrivers(FCMModelData); } } } modelData.OrderId = orderData.OrderId; } catch (Exception ex) { } return(bSuccess); }
public bool UpdateOrder(Model.Order modelData, string mailContent, string surgeryOrderMailContent, FCMNotificationModel FCMModelData) { bool bSuccess = false; try { if (modelData.OrderId > 0) { ProOrder orderData = orderRepository.GetOrder(modelData.OrderId); orderData.ModifiedOn = DateTime.Now; orderData.ModifiedBy = userService.GetLoggdInUser().UserId; orderData.OrderTypeId = modelData.OrderTypeId; orderData.IntervalCount = modelData.IntervalCount; orderData.DeliveryDate = modelData.DeliveryDate; orderData.PickupTypeId = modelData.PickupTypeId; orderData.IsStorageFridge = modelData.IsStorageFridge; orderData.IsControlledDrugs = modelData.IsControlledDrugs; orderData.OrderStatus = modelData.OrderStatus; orderData.RackNo = modelData.RackNo; orderData.RouteId = modelData.RouteId; orderData.CaseTypeId = modelData.CaseTypeId; orderData.RecentDeliveryNote = modelData.RecentDeliveryNote; orderData.DeliveryNote = modelData.DeliveryNote; orderData.SurgeryNote = modelData.SurgeryNote; orderData.BranchNote = modelData.BranchNote; ProOrderDetail orderDetail; orderData.ProOrderDetail = new List <ProOrderDetail>(); string emailItems = string.Empty; foreach (var item in modelData.OrderDetails.Where(od => od.IsVisible).ToList()) { if (!string.IsNullOrEmpty(item.MedicineName) && Converters.ConvertInt(item.Quantity) > 0) { orderDetail = new ProOrderDetail { ProductId = item.ProductId, Strength = item.Strength, Morning = item.Morning, AfterNoon = item.AfterNoon, Evening = item.Evening, Night = item.Night, Quantity = item.Quantity, Duration = item.Duration, Remarks = item.Remarks, OrderDetailId = item.OrderDetailId }; orderData.ProOrderDetail.Add(orderDetail); emailItems += $"<tr><td>{item.MedicineName}</td><td>{item.Duration}</td><td>{Converters.ConvertInt(item.Quantity)}</td></tr>"; } } bSuccess = orderRepository.SaveOrder(orderData, modelData); if (bSuccess && modelData.OldOrderStatus != modelData.OrderStatus) { string branchName = orderData.BranchId.HasValue ? branchRepositry.GetBranch((long)orderData.BranchId).BranchName : string.Empty; //Check customer has registered mobile APP and application created with User for that customer var customerUserMapData = userRepository.GetCustomerUserMap(orderData.CustomerId.Value); string orderUpdateSMSMessage = messageTemplateService.GetMessageTemplate(orderData.CompanyId.Value, (long)orderData.BranchId, (int)MessageTypes.SMS, (int)MessageEvents.OrderUpdate); if (customerUserMapData != null) { FCMModelData.UserId = customerUserMapData.UserId; FCMModelData.CompanyId = customerUserMapData.CompanyId; FCMModelData.BranchId = customerUserMapData.BranchId; //FCMModelData.Notification = string.Format(ResourceService.Resource.GetMessage("NMOrderStatusChange"), orderData.OrderId, ResourceService.Resource.GetCaption(((OrderStatus)orderData.OrderStatus).ToString())); FCMModelData.Notification = string.Format(orderUpdateSMSMessage, ResourceService.Resource.GetCaption(((OrderStatus)orderData.OrderStatus).ToString()), orderData.OrderId, modelData.Customer.Mobile, branchName); FCMService.SaveFCMNotificationUser(FCMModelData); } FCMModelData.CompanyId = orderData.CompanyId.Value; FCMModelData.BranchId = orderData.BranchId; //FCMModelData.Notification = string.Format(ResourceService.Resource.GetMessage("NMOrderStatusChangeForDriver"), orderData.OrderId, ResourceService.Resource.GetCaption(((OrderStatus)orderData.OrderStatus).ToString()), modelData.Customer.Mobile); FCMModelData.Notification = string.Format(orderUpdateSMSMessage, ResourceService.Resource.GetCaption(((OrderStatus)orderData.OrderStatus).ToString()), orderData.OrderId, modelData.Customer.Mobile, branchName); FCMService.SaveFCMNotificationDrivers(FCMModelData); } if (bSuccess && modelData.ActionType.HasValue && modelData.ActionType.Value == 1) { var branchId = userService.GetLoggdInUser().BranchId; var customerDtls = customerService.GetCustomer(orderData.CustomerId.Value); var branchDtls = branchRepositry.GetBranch(branchId); var branchInfo = $@"<tr><td class='header-sm'>{branchDtls.BranchName}</td></tr><tr><td>{branchDtls.Address?.Address1}</td></tr><tr><td>{branchDtls.Address?.Address2}</td></tr> <tr><td>{branchDtls.Address.PostCode}</td></tr><tr><td>{branchDtls.Address.City}</td></tr>"; if (!string.IsNullOrEmpty(customerDtls?.Email)) { mailContent = mailContent.Replace("$BRANCHDTLS$", branchInfo); mailContent = mailContent.Replace("$CURRENTDATE$", DateTime.Now.ToString("dd MMMM yyyy")); mailContent = mailContent.Replace("$PATIENTDTLS$", string.Concat(customerDtls.FirstName, " ", customerDtls.LastName, " DOB:", customerDtls.Dob.ToShortDateString(), " NHS NO:", customerDtls.NHSNumber.ToString())); mailContent = mailContent.Replace("$ITEMLIST$", emailItems); mailContent = mailContent.Replace("$REQUESTEDBY$", string.Concat(customerDtls.FirstName, " ", customerDtls.LastName, " DOB:", customerDtls.Dob.ToShortDateString(), " NHS NO:", customerDtls.NHSNumber.ToString())); emailService.SendMail(new string[] { customerDtls.Email }, $"Order Updated [{orderData.OrderId}]", mailContent); } //if (Converters.ConvertInt(modelData.SurgeryId) > 0) //{ // var surgeryData = masterService.GetSurgery(modelData.SurgeryId.Value); // if (surgeryData != null && !string.IsNullOrEmpty(surgeryData.Email)) // { // if (!string.IsNullOrEmpty(surgeryOrderMailContent)) // { // surgeryOrderMailContent = surgeryOrderMailContent.Replace("$ITEMLIST$", emailItems); // emailService.SendMail(new string[] { surgeryData.Email.Trim() }, $"Order Created [{orderData.OrderId}]", surgeryOrderMailContent); // } // } //} } } } catch (Exception ex) { logger.LogError(ex, ex.Message); } return(bSuccess); }
public NotificationController() { _fcmService = new FCMService(); }
public HomeController() { _fcmService = new FCMService(); }