دسته بندی ها
10:50 1401/01/21

دریافت اطلاعات از دیتابیس بر اساس فیلدهای شرطی

مشخصات سوال کننده :
کاربر : 1756054649     امتیاز کاربر : ‎−2     رتبه کاربر : 7080
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 1593
1 نظر
pedram_khan : توضیحاتتون زیاده اما متاسفانه سوال رو گنگ میپرسید. ببینید مزرعه، آبیاری و ... اینا المان های پروژه شماست و بنده ای که می خوام پاسخ بدم نمیدونم چیه و چه ارتباط هایی با هم دارن. شما باید سوال رو شبیه سازی کنید و قابل فهم بپرسید. الان من چند بار سوال رو خوندم ولی منظور شما رو دقیق نمیفهمم. ضمنا شما نیاز نیست این همه کد رو اینجا قرار بدید. سعی کنید کدی که نیاز هست رو فقط بذارید. شما این سوال رو توی سایتهای خارجی مثل stackoverflow هم بپرسید هیچ کس نمیتونه پاسخ بده.

امتیاز کاربر : 277   رتبه کاربر : 6   تاریخ ثبت : 01:31 1401/01/22
پاسخ دهنده : 1756054649 07:41 1401/01/22

سلام

برای اینکه سوال مطرح شده رو شبیه سازی کنم نیاز هست اینطور عنوان کنم

به شما بگن کارکرد روزانه تا به امروز (یا ماهیانه)رو چطوری محاسبه کنی نیاز هست بر اساس یه فیلدهای اصلی و شرطی محاسبه کنی درسته؟

تو سئوالم این رو مطرح کردم اینکه فیلدی دارم به نام مزرعه حال میگن کارکرد عملیات آبی که تا به امروز بهش داده شده چقدر هست؟

پس نیاز هست شرطمون خود مزرعه باشه ، خود عملیات باشه،ماه،سال و فیلد آب داده شده روزانه(حاصل جمع فیلد آب داده شده با المانهای شرطی میشه تا به امروز)

بنده کوئری رو نوشتم و تست کردم و اوکی هست ولی نمیتونم اسکریپت بنویسم(تازه اومدم تو عرصه تحت وب)

نتیجه: یعنی با انتخاب هر کدام از فیلدهای مزرعه ، عملیات، سال ، ماه بره تو جدول مربوطه فیلد آبیاری امروز رو تجمیع کنه و خورجی آن میشه تا به امروز میشه کد زیر

public IActionResult Mohasbeh(int ido, string TaEmrozAbyari, int sltMazraee, int oprationid, string Month, string Year)
{
   double TaEmroozAb = 0;
   var opertion = _db.Tbl_Abyari.Where(p => p.IDMazraee == sltMazraee && p.Month == Month
      && p.Year == Year && p.IDOpration == ido);

   foreach (var item in opertion)
   {
      TaEmroozAb += Convert.ToDouble(item.EmrozAbyari);
   }
   ViewBag.TaEmrozAbyari = TaEmroozAb;
   return View();
}

حا کد ذکر شده زمانی اجرا میشه و فراخوانی خواهد شد که اطلاعات ماه و سال و مزرعه و عملیات از لیست ویو های مربوطه لود بشن که بنده انجام دادم ولی چیزی که نیاز دارم باید بره تو اسکریپت و جی سان شرط های گفته شده رو از لیست ویو بگیره و پاس به متد بالا

مثلا من اسکریپت عملیات رو نوشتم کد زیر هست

 

<script>
        $("#sltOpration1").on('change', function (e) {
            if ($("#sltOpration1").prop('selectedIndex') == 0) {
                $('#divZirOpration1').addClass('hidden');
            }
            else {
                //اگر يک عمليات انتخاب شده
                var getid = $('#sltOpration1').val();
                $.ajax({
                    type: 'post',
                    url: '@Url.Action("getOperation", "AbyariSabt")',
                    data: { id: getid },
                    success: function (result) {
                        if (result.status == "success") {
                            $('#oprationid').empty();
                            $.each(result.operationLiist, function (i) {
                                $('#oprationid').append($("<option></option>")
                                    .val(result.operationLiist[i].id).html(result.operationLiist[i].cname));
                            });
                        }
                    }
                });
                $('#divZirOpration1').removeClass('hidden');
            }
        });
    </script>

 

اسکریپت گرفتن مزرعه و آیدی مربوطه هم نوشتم

 

 <script>
        $("#sltMazraee").on('change', function (e) {
            if ($("#sltMazraee").prop('selectedIndex') == 0) {
                $('#divZirOpration').addClass('hidden');
            }
            else {
                //اگر يک مزرعه انتخاب شده
                var getid = $('#sltMazraee').val();
                $.ajax({
                    type: 'post',
                    url: '@Url.Action("getMazaree", "AbyariSabt")',
                    data: { id: getid },
                    success: function (result) {
                        if (result.status == "success") {

                            $('#opidHektar').empty();
                            $('#opidVariteh').empty();
                            $('#opidSen').empty();
                            $('#opidNameBlook').empty();
                            $('#opidNameOffice').empty();

                            $.each(result.operationList, function (i) {


                                $('#opidHektar').append($("<option></option>")
                                    .val(result.operationList[i].id).html(result.operationList[i].cname));


                                $('#opidVariteh').append($("<option></option>")
                                    .val(result.operationList[i].id).html(result.operationList[i].cname1));

                                $('#opidSen').append($("<option></option>")
                                    .val(result.operationList[i].id).html(result.operationList[i].cname2));

                                $('#opidNameBlook').append($("<option></option>")
                                    .val(result.operationList[i].id).html(result.operationList[i].cname3));

                                $('#opidNameOffice').append($("<option></option>")
                                    .val(result.operationList[i].id).html(result.operationList[i].cname4));

                            });
                        }
                    }
                });
                $('#divZirOpration').removeClass('hidden');
            }
        });
    </script>

 

ماه و سال هم همینطور

حال چیزی که میخوام چهار فیلد شرط فوق رو داخل یه اسکریپت بزارم و پاس بده به متد

به این پاسخ امتیاز بدهید    0
امتیاز: ‎−2 رتبه: 7080
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود