示例#1
0
        public void PerformForDialog()
        {
            ReportFeedback rfb = new ReportFeedback(ReportOnDialog);
            DoubleIt       bo  = new DoubleIt();

            bo.DoIt(100, rfb);
        }
示例#2
0
        public void PerformForConsole()
        {
            ReportFeedback rfb = new ReportFeedback(ReportOnConsole);
            DoubleIt       bo  = new DoubleIt();

            bo.DoIt(10, rfb);
        }
示例#3
0
 public void DoIt(int inputValue, ReportFeedback feedback)
 {
     if (feedback != null)
     {
         feedback.Invoke(inputValue * 2);
     }
 }
示例#4
0
        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);
        }
示例#5
0
        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);
            }
        }
示例#6
0
        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);
        }
示例#7
0
        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);
        }
示例#8
0
 public void AddFeedback(ReportFeedback entity)
 {
     _context.ReportFeedbacks.Add(entity);
 }