Beispiel #1
0
        public DateTime SetWorkingDate(string date_start, string date_end, int?id_form)
        {
            DateTime dateTime1 = DateTime.Parse(date_end);
            DateTime dateTime2 = DateTime.Parse(date_start);
            DateTime dateTime3 = DateTime.Parse(date_end);
            List <ParameterQueryString> parameterQueryStringList = new List <ParameterQueryString>();
            ParameterQueryString        parameterQueryString1    = new ParameterQueryString {
                DbType = SqlDbType.Date, Value = dateTime2.ToString("yyyy-MM-dd"), Name = "@DateStart"
            };

            parameterQueryStringList.Add(parameterQueryString1);

            ParameterQueryString parameterQueryString2 = new ParameterQueryString {
                DbType = SqlDbType.Date, Name = "@DateEnd", Value = dateTime3.ToString("yyyy-MM-dd")
            };

            parameterQueryStringList.Add(parameterQueryString2);

            DataTable dataTable = connection.OpenDataTable("SELECT * FROM IgnoranceDate WHERE Date >= @DateStart AND Date <= @DateEnd", parameterQueryStringList);

            if (dateTime1.DayOfWeek.ToString().Contains("Saturday"))
            {
                dateTime1 = dateTime1.AddDays(2.0);
            }
            else if (dateTime1.DayOfWeek.ToString().Contains("Sunday"))
            {
                dateTime1 = dateTime1.AddDays(1.0);
            }
            else if (dataTable.Rows.Count > 0)
            {
                for (int index = 0; index < dataTable.Rows.Count; ++index)
                {
                    if (Convert.ToDateTime(dataTable.Rows[index].ItemArray[2]) == dateTime1)
                    {
                        DateTime dateTime4 = Convert.ToDateTime(dataTable.Rows[index].ItemArray[2]);
                        if (dateTime4.DayOfWeek.ToString().Contains("Saturday"))
                        {
                            dateTime4 = Convert.ToDateTime(dataTable.Rows[index].ItemArray[2]);
                            if (dateTime4.DayOfWeek.ToString().Contains("Sunday"))
                            {
                                continue;
                            }
                        }
                        dateTime1 = dateTime1.AddDays(1.0);
                    }
                }
            }
            return(dateTime1);
        }
Beispiel #2
0
        public int CalculateLeave(string date_start, string date_end)
        {
            List <string> stringList1 = new List <string>();
            double        num1        = (DateTime.Parse(date_end) - DateTime.Parse(date_start)).TotalDays + 1.0;
            int           num2        = Convert.ToInt32(num1);
            DateTime      dateTime1   = DateTime.Parse(date_start);
            DateTime      dateTime2   = DateTime.Parse(date_end);
            List <string> stringList2 = new List <string>();

            for (int index = 0; (double)index < num1; ++index)
            {
                if (index == 0)
                {
                    if (dateTime1.DayOfWeek.ToString() == "Saturday" || dateTime1.DayOfWeek.ToString() == "Sunday")
                    {
                        num2 = Convert.ToInt32(num2) - 1;
                    }
                }
                else if (dateTime1.AddDays((double)index).DayOfWeek.ToString() == "Saturday" || dateTime1.AddDays((double)index).DayOfWeek.ToString() == "Sunday")
                {
                    num2 = Convert.ToInt32(num2) - 1;
                }
            }
            List <ParameterQueryString> parameterQueryStringList = new List <ParameterQueryString>();
            ParameterQueryString        parameterQueryString1    = new ParameterQueryString {
                DbType = SqlDbType.Date, Name = "@DateStart", Value = dateTime1.ToString("yyyy-MM-dd")
            };

            parameterQueryStringList.Add(parameterQueryString1);

            ParameterQueryString parameterQueryString2 = new ParameterQueryString {
                DbType = SqlDbType.Date, Name = "@DateEnd", Value = dateTime2.ToString("yyyy-MM-dd")
            };

            parameterQueryStringList.Add(parameterQueryString2);

            DataTable dataTable = connection.OpenDataTable("SELECT * FROM IgnoranceDate WHERE Date >= @DateStart AND Date <= @DateEnd", parameterQueryStringList);

            if (dataTable.Rows.Count > 0)
            {
                for (int index = 0; index < dataTable.Rows.Count; ++index)
                {
                    DateTime dateTime3 = Convert.ToDateTime(dataTable.Rows[index][2]);
                    num2 = dateTime3.Date.DayOfWeek.ToString() == "Saturday" || dateTime3.Date.DayOfWeek.ToString() == "Sunday" ? Convert.ToInt32(num2) : Convert.ToInt32(num2) - 1;
                }
            }
            return(num2);
        }