50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

مقایسه بین پروپرتی های موجود در 2 تابع در تابع دیگر

سلام .

من میخوام که مقدار BookID , TypeofScore,TermID دو تابعی (BookMostmer , Nomarate) ک نوشتم رو در تابع Average با هم مقایسه کنم . چطور باید این کار رو انجام بدم ؟؟

public float BookMostamar(int bookid, int typescore, int termid, InsertScore model)
    {
        var nomre = from a in _db.Tbl_Score
                    where a.StudentNo == model.StudentID && a.BookID == bookid && a.TypeofScore == typescore && a.TermID == termid
                    select a.Score;
        if (nomre.Any())
        {
            var ave = nomre.Average();
            return ave;
        }
        else
        {
            return 0;
        }
    }

 public List<float> Nomarate(InsertScore model)
    {
        var qNomarateEmthanNobatAval = (from a in _db.Tbl_Score
            where a.StudentNo == model.StudentID && a.TermID == model.Term && a.TypeofScore == model.TypeofScore
            select a.Score).ToList();
        return qNomarateEmthanNobatAval;
    }

  public float Average(InsertScore model)
    {
        if (model.TypeofScore == 3)
        {

        }
    }
پرسیده شده در 1395/09/10 توسط

5 پاسخ

0

ممنون فک کنم به جواب نزدیک شدیم . مشکل اینجاس ک وقتی nomre رو میزنم پراپرتی BookID رو نمیاره . باید چیکارش کنم ؟

پاسخ در 1395/09/11 توسط
1

سلام دوست عزیز، یک مقدار بیشتر توضیح بدید، متوجه نشدم دقیقاً منظورتون چیه!؟

پاسخ در 1395/09/11 توسط
0

من میخوام در تابع Average به این صورت مشخص کنم آیا BookID این دو تابع BookMostamar و Nomarate با هم برار هستن یا ن :

public float Average(InsertScore model)
{
    if (model.TypeofScore==3)
    {
        foreach (var nomre in Nomarate(model))
        {
            if(nomre.BookID==BookMostamar.BookID)
            {
                // Do Something
            }
        }
    }
}
پاسخ در 1395/09/11 توسط
1

در متد بالا BookMostamar یک متد هست ولی به صورت یک متغیر استفاده شده، شما باید متد BookMostamar رو فراخونی کنید:

if(nomre.BookID==BookMostamar(,,,))
{
    // Do Something
}

البته بازهم فکر کنم درست متوجه منظورتون نشدم، مقدار بازگشتی BookMostamar از نوع float هست و BookId ای بر نمیگردونه.

پاسخ در 1395/09/11 توسط
0

سلام مجدد، مقدار بازگشتی متد Nomarate لیستی از نوع float هست و طبیعیه که خصوصیت BookId رو نداشته باشه. شما باید کد Nomarate رو جوری تغییر بدید که لیستی از شئی مورد نظر رو برگردونه:

 public List<Book> Nomarate(InsertScore model)
    {
        var qNomarateEmthanNobatAval = (from a in _db.Tbl_Score
            where a.StudentNo == model.StudentID && a.TermID == model.Term && a.TypeofScore == model.TypeofScore
            select a).ToList();
        return qNomarateEmthanNobatAval;
    }

فقط من چون اسم کلاستون رو نمیدونستم لیستی از نوع Book برگردوندم که شما بر اساس کلاس خودتون تغییرش بدید.

پاسخ در 1395/09/13 توسط

پاسخ شما