/// <summary>
        /// جزیات یک روز را برمیگرداند
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public IList <MonthlyDetailReportProxy> GetPersonMonthlyRowDetail(DateTime date)
        {
            try
            {
                if (IsValidPeson())
                {
                    PrsMonthlyRptRepository                prsMonthlyRep = new PrsMonthlyRptRepository(false);
                    List <MonthlyDetailReportProxy>        detailList    = new List <MonthlyDetailReportProxy>();
                    IList <PersonalMonthlyReportRowDetail> list          = prsMonthlyRep.LoadPairableScndcnpValue(this.workingPersonId, date.Date);
                    foreach (PersonalMonthlyReportRowDetail detail in list)
                    {
                        for (int i = 0; i < detail.Pairs.Count; i++)
                        {
                            if (!detail.ScndCnpName.Contains("خالص") && !detail.ScndCnpName.Contains("چارت"))
                            {
                                MonthlyDetailReportProxy proxy = new MonthlyDetailReportProxy();
                                proxy.From  = Utility.IntTimeToRealTime(detail.Pairs[i].From);
                                proxy.To    = Utility.IntTimeToRealTime(detail.Pairs[i].To);
                                proxy.Name  = detail.ScndCnpName;
                                proxy.Color = detail.Color;
                                if (detail.Pairs[i].From > 0 && detail.Pairs[i].To == 0)
                                {
                                    if (sysLanguageResource == LanguagesName.Parsi)
                                    {
                                        proxy.Description = "عدم وجود زوج مرتب بعلت خطای احتمالی در تعریف قوانین";
                                    }
                                    else
                                    {
                                        proxy.Description = "No pair is available maybe caused by rules definition";
                                    }
                                }
                                detailList.Add(proxy);
                            }
                        }
                    }
                    return(detailList);
                }
                else
                {
                    throw new IllegalServiceAccess(String.Format("این سرویس بعللت اعتبارسنجی قابل دسترسی نمیباشد. شناسه کاربری {0} میباشد", this.Username), ExceptionSrc);
                }
            }
            catch (Exception ex)
            {
                BaseBusiness <Entity> .LogException(ex, "BPersonMonthlyWorkedTime", "GetPersonMonthlyRowDetail");

                throw ex;
            }
        }
        //DNN NOTE
        /// <summary>
        /// جزئیات گزارش کارکرد یک روز را برمیگرداند
        /// </summary>
        /// <param name="date">تاریخ</param>
        /// <returns>لیست پروکسی جزئیات گزارش کارکد </returns>
        public IList <MonthlyDetailReportProxy> GetPersonMonthlyRowDetail(DateTime date)
        {
            //DNN Note
            IDashboardBRequest requestBusiness = new BRequest(this.workingPersonId);

            //End of DNN Note
            try
            {
                if (IsValidPeson())
                {
                    //DNN Note
                    decimal rowId = date.Date.Day * 100;
                    //End of DNN Note
                    PrsMonthlyRptRepository                prsMonthlyRep = new PrsMonthlyRptRepository(false);
                    List <MonthlyDetailReportProxy>        detailList    = new List <MonthlyDetailReportProxy>();
                    IList <PersonalMonthlyReportRowDetail> list          = prsMonthlyRep.LoadPairableScndcnpValue(this.workingPersonId, date.Date);
                    foreach (PersonalMonthlyReportRowDetail detail in list)
                    {
                        for (int i = 0; i < detail.Pairs.Count; i++)
                        {
                            if (!detail.ScndCnpName.Contains("خالص") && !detail.ScndCnpName.Contains("چارت") && detail.ScndShowInDetail)
                            {
                                MonthlyDetailReportProxy proxy = new MonthlyDetailReportProxy();
                                //DNN Note
                                rowId    = rowId + 1;
                                proxy.ID = rowId;
                                //End of DNN Note
                                proxy.From  = Utility.IntTimeToRealTime(detail.Pairs[i].From);
                                proxy.To    = Utility.IntTimeToRealTime(detail.Pairs[i].To);
                                proxy.Name  = detail.ScndCnpName;
                                proxy.Color = detail.Color;
                                if (detail.Pairs[i].From > 0 && detail.Pairs[i].To == 0)
                                {
                                    if (sysLanguageResource == LanguagesName.Parsi)
                                    {
                                        proxy.Description = "عدم وجود زوج مرتب بعلت خطای احتمالی در تعریف قوانین";
                                    }
                                    else
                                    {
                                        proxy.Description = "No pair is available maybe caused by rules definition";
                                    }
                                }
                                //DNN NOTE
                                if (proxy.Name == "غیبت ساعتی" || proxy.Name == "غیبت روزانه")
                                {
                                    int UnderReviewCount = requestBusiness.GetAllRequestCountInDay(this.workingPersonId, date, RequestState.UnderReview, detail.Pairs[i].From, detail.Pairs[i].To);
                                    int ConfirmedCount   = requestBusiness.GetAllRequestCountInDay(this.workingPersonId, date, RequestState.Confirmed, detail.Pairs[i].From, detail.Pairs[i].To);
                                    if (UnderReviewCount > 0)
                                    {
                                        proxy.Description = proxy.Description + string.Format("تعداد {0} درخواست در حال بررسی می باشد. ", UnderReviewCount);
                                    }
                                    if (ConfirmedCount > 0)
                                    {
                                        proxy.Description = proxy.Description + string.Format("تعداد {0} درخواست تایید شده است. ", ConfirmedCount);
                                    }
                                }
                                //END OF DNN NOTE

                                detailList.Add(proxy);
                            }
                        }
                    }
                    return(detailList);
                }
                else
                {
                    throw new IllegalServiceAccess(String.Format("این سرویس بعللت اعتبارسنجی قابل دسترسی نمیباشد. شناسه کاربری {0} میباشد", this.Username), ExceptionSrc);
                }
            }
            catch (Exception ex)
            {
                BaseBusiness <Entity> .LogException(ex, "BPersonMonthlyWorkedTime", "GetPersonMonthlyRowDetail");

                throw ex;
            }
        }