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

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

اعتبار سنجی ساعت وارد شده طبق شیفت

ﺳﻪ شنبه, 07 اسفند 1397 07:44

اعتبار سنجی ساعت وارد شده طبق شیفت

یه جدول TblShift دارم که شامل آی دی شیفت - نام شیفت و ساعت شروع و پایان شیفت هست و یه فیلد که مشخص میکنه ساعت پایان توی روز بعدی هست یا نه . مثلا 23 امروز تا 7 روز بعد .

یه جدول  TblTimelyHeader دارم که میام  تاریخ و شیفت رو توش نگه میدارم (منظورم آی دی شیفت هست.)

یه جدول TblTimelyContent دارم که که تولیدهام رو توش ثبت میکنم که شامل آی دی ماشین ، آی دی TblTimelyHeader و ساعت شروع تولید و ساعت پایان تولید هست

دنبال ساده ترین و بهترین راهکار هستم که ساعت شروع و پایان رو اعتبار سنجی کنم. گیرم هم بیشتر روی شیفت هایی مثل 23 امروز تا 7 روز بعد هستش .

ﺳﻪ شنبه, 07 اسفند 1397 16:43

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

//ساعت شروع شیفت
            int beginTimeHour = Convert.ToInt32(ShifttimeBegin.Substring(0, 2));
            //دقیقه شروع شیفت
            int beginTimeMin = Convert.ToInt32(ShifttimeBegin.Substring(3, 2));
            //ساعت پایان شیفت
            int EndTimeHour = Convert.ToInt32(ShifttimeEnd.Substring(0, 2));
            //دقیقه پایان شیف
            int EndTimeMin = Convert.ToInt32(ShifttimeEnd.Substring(3, 2));
            if (RoozBaadi == false)
            {
                if (Convert.ToInt32(txtHourBegin.Text) < beginTimeHour || Convert.ToInt32(txtHourEnd.Text) > EndTimeHour)
                {

                    MessageBox.Show("ساعت وارد شده در شیفت مورد نظر نمی باشد");
                    return;
                }
                else
                {
                    if (Convert.ToInt32(txtHourEnd.Text) == EndTimeHour)
                    {
                        if (Convert.ToInt32(txtMinEnd.Text) > EndTimeMin)
                        {
                            MessageBox.Show("ساعت وارد شده در شیفت مورد نظر نمی باشد");
                            return;
                        }
                    }
                }
                if (Convert.ToInt32(txtHourBegin.Text) > Convert.ToInt32(txtHourEnd.Text))
                {
                    MessageBox.Show("ساعت شروع از ساعت پایان کمتر است");
                    return;
                }
                else if (Convert.ToInt32(txtHourBegin.Text) == Convert.ToInt32(txtHourEnd.Text))

                {
                    if (Convert.ToInt32(txtMinBegin.Text.Trim()) > Convert.ToInt32(txtMinEnd.Text.Trim()))
                    {
                        MessageBox.Show("ساعت شروع از ساعت پایان کمتر است");
                        return;
                    }
                }
            }

ولی واسه شیفت هایی که میفته واسه روز بعد نمیتونم داده ورودی کاربر رو اعتبار سنجی کنم .
دوستان راهکاری ندارن ؟

چهارشنبه, 08 اسفند 1397 08:04

استاد مدائنی عزیز ؟

راهنمایی میکنید ؟

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

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