public void PerformForDialog() { ReportFeedback rfb = new ReportFeedback(ReportOnDialog); DoubleIt bo = new DoubleIt(); bo.DoIt(100, rfb); }
public void PerformForConsole() { ReportFeedback rfb = new ReportFeedback(ReportOnConsole); DoubleIt bo = new DoubleIt(); bo.DoIt(10, rfb); }
public void DoIt(int inputValue, ReportFeedback feedback) { if (feedback != null) { feedback.Invoke(inputValue * 2); } }
public void FancyPerformForAll() { ReportFeedback rfb1 = new ReportFeedback(ReportOnConsole); ReportFeedback rfb2 = new ReportFeedback(ReportOnDialog); ReportFeedback rfbChain = null; rfbChain += rfb1; rfbChain += rfb2; DoubleIt bo = new DoubleIt(); bo.DoIt(100, rfbChain); }
public void PerformForAllUsingInvocationList() { ReportFeedback rfb1 = new ReportFeedback(ReportOnConsole); ReportFeedback rfb2 = new ReportFeedback(ReportOnDialog); ReportFeedback rfbChain = null; rfbChain += rfb1; rfbChain += rfb2; Delegate[] delegates = rfbChain.GetInvocationList(); DoubleIt bo = new DoubleIt(); foreach (ReportFeedback del in delegates) { bo.DoIt(100, del); } }
public void PerformForAll() { ReportFeedback rfb1 = new ReportFeedback(ReportOnConsole); ReportFeedback rfb2 = new ReportFeedback(ReportOnDialog); //Delegate.Combine combines null and rfb1. //Now both rfbChain and rfb1 point to same delegate object. Please note invocation list (_invocationList) is null so far. //When rfbChain and rfb2 are combined, _invocationList has items pointing to rfb1 and rfb2. Now, rfbChain points to delegate object having that _invocationlist. ReportFeedback rfbChain = null; rfbChain = (ReportFeedback)Delegate.Combine(rfbChain, rfb1); rfbChain = (ReportFeedback)Delegate.Combine(rfbChain, rfb2); DoubleIt bo = new DoubleIt(); bo.DoIt(100, rfbChain); }
public void SendFeedback(string medicineReportId, string feedbackMessage) { var mr = GetById(medicineReportId); var cmUser = mr.Complainant; var phUser = mr.Pharmacy; // Status changed ChangeStatus(medicineReportId, EnumMedicineReportStatus.Completed); // Add new feedback var newFeedback = new ReportFeedback() { MedicineReportId = medicineReportId, FeedbackMessage = feedbackMessage }; _medicineReportUnitOfWork.MedicineReportRepository.AddFeedback(newFeedback); _medicineReportUnitOfWork.Save(); //Send Email to User CustomEmail.SendFeedbackEmail(cmUser.Email, phUser.Name, cmUser.Name, feedbackMessage); }
public void AddFeedback(ReportFeedback entity) { _context.ReportFeedbacks.Add(entity); }