c# - Check if the date time slots are available in a week -


i have scenario user can create , add rule. rule assigned time slot in week execution. suppose second rule added, can not assigned between time slot of first one.

note: have implement single week i.e., monday sunday. no second week exists. single week logic run every week entire year.

thorough attempt, if 1 rule running tuesday friday able assign time slots of merely monday or saturday sunday rule not able book/assign time slot saturday monday (i.e., starting point of week).

following attempt far:

foreach (var item in rules) {     datetime startdatewanttobook = convert.todatetime((datetime.today.month + "/" + startday + "/" + datetime.today.year) + " " + startdaytime);     datetime enddatewanttobook = convert.todatetime((datetime.today.month + "/" + endday + "/" + datetime.today.year) + " " + enddaytime);     datetime startdatealreadybooked = convert.todatetime((datetime.today.month + "/" + item.startday + "/" + datetime.today.year) + " " + item.startdaytime);     datetime enddatealreadybooked = convert.todatetime((datetime.today.month + "/" + item.endday + "/" + datetime.today.year) + " " + item.enddaytime);      //for same days , sun-sat days     if ((enddatealreadybooked - startdatealreadybooked).totalseconds >= 0)     {         if ((startdatewanttobook <= startdatealreadybooked && enddatewanttobook <= startdatealreadybooked) || (startdatewanttobook >= enddatealreadybooked && enddatewanttobook >= enddatealreadybooked)             || (enddatewanttobook <= startdatealreadybooked && startdatewanttobook >= enddatealreadybooked))         {             isexist = false;         }         else             isexist = true;     }     else     {           if ((startdatewanttobook <= startdatealreadybooked && enddatewanttobook <= startdatealreadybooked) && (startdatewanttobook >= enddatealreadybooked && enddatewanttobook >= enddatealreadybooked))          {              isexist = false;          }          else              isexist = true;      }       if (isexist == true)      {          break;      }  } 

please suggest should edited... or fresh logic this...

edit : how time slots colored based on rule..white spaces unoccupied.

rule template view

latest edit :

in case taking sunday=1, monday=2.....saturday=7. let's have scenario, booked sunday 10:00 sunday 14:00. my

existingstartdate : 7/1/2015 10:00

existingenddate : 7/1/2015 02:00 pm

now, booking time slot monday 10:00 sunday 06:00 pm so,

requestedstartdate : 7/2/2015 10:00

requestedenddate : 7/1/2015 06:00 pm.

in case no if() conditions passes..uploaded image reference..

seems want check overlaps between 2 periods. that's done "cross check":

bool overlaps = false; if( (startdatewanttobook <= enddatealreadybooked ) && (startdatealreadybooked <= enddatewanttobook) )   overlaps = true; 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -