مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

تغییر تعداد کل محصولات

یکشنبه, 01 اردیبهشت 1398 19:16

تغییر تعداد کل محصولات

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

 public double UpdateProductTotalCount(int ProductID)
        {
            double TotalCounts = db.tblProduct.Find(ProductID).TotalCount;
          double CountInFactors = db.tblAccounting.Where(w=>w.tblCustomers.CustomerId==w.CustomerID && w.tblProduct.Productid==w.ProductID).Select(s=>s.CountInFactor).Sum();
          return TotalCounts- CountInFactors;
        }

چی کار باید انجام بدهم تا تعداد null برنگردد و تعداد کل آپدیت شود؟ اگر راه بهتری وجود داره بگویید تا استفاده کنیم

لطفا راهنمایی بفرمایید. با تشکر

دوشنبه, 02 اردیبهشت 1398 11:47

با سلام خدمت شما

این نکته رو در نظر بگیرین

چک کنین ببینین جداول tblCustomers و tblProducts حتما include شده باشن تا مشکلی پیش نیاد ( یا رابطه ی بین جداول رو virtual درنظر بگیرین یا این جداول رو include کنین )

ممکنه جداول include نشده باشن

کسانی که از این پست تشکر کرده اند : abolfazlpro,
ﺳﻪ شنبه, 03 اردیبهشت 1398 00:38

جداول را include کردم مشکلی که دارم اینه که CountInFactors (تعداد درون جدول فاکتورها)صفر یا null در نظر گرفته میشه.و تعداد کل محصولات آپدیت نمیشه دیاگرام دیتابیس خدمتتان ارسال میکنم بهمراه کدی که نوشتم زیاد وقت گذاشتمerrorنمیده اما نتیجه نگرفتم. خواهشمندم کمک بفرمایید. با تشکر

  public double UpdateProductTotalCount(int ProductID)
        {
          var TotalCounts = db.tblProduct.Find(ProductID).TotalCount;
         double  CountInFactors = db.tblAccounting.Include(i=>i.tblCustomers).Include(i=>i.tblProduct).Where(w=>w.tblCustomers.CustomerId==w.CustomerID && w.tblProduct.Productid==w.ProductID).Sum(s=> (double?)s.CountInFactor)??0;
          
            return TotalCounts- CountInFactors;
        }

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید