예제 #1
0
        public void DayDelete()
        {
            FlatSchedule fs = new FlatSchedule();

            fs.employeeId = Convert.ToInt32(currentEmployee.Text);
            fs.dayId      = dateFrom.SelectedDate.ToString("yyyyMMdd");
            fs.shiftId    = 0;
            PostRequest <FlatSchedule> request = new PostRequest <FlatSchedule>();

            request.entity = fs;
            PostResponse <FlatSchedule> r = _timeAttendanceService.ChildDelete <FlatSchedule>(request);


            //check if the insert failed
            if (!r.Success)//it maybe be another condition
            {
                //Show an error saving...
                X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                Common.errorMessage(r);
                return;
            }

            else
            {
                Load_Click(new object(), new DirectEventArgs(null));
            }
        }
예제 #2
0
        protected void Save_Click(object sender, DirectEventArgs e)
        {
            List <FlatSchedule> currentFlat;
            string rep_params = "";
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters.Add("1", currentEmployee.Text);
            parameters.Add("2", dateFrom.SelectedDate.ToString("yyyyMMdd"));
            parameters.Add("3", dateFrom.SelectedDate.ToString("yyyyMMdd"));
            foreach (KeyValuePair <string, string> entry in parameters)
            {
                rep_params += entry.Key.ToString() + "|" + entry.Value + "^";
            }
            if (rep_params.Length > 0)
            {
                if (rep_params[rep_params.Length - 1] == '^')
                {
                    rep_params = rep_params.Remove(rep_params.Length - 1);
                }
            }



            ReportGenericRequest reqSaveFS = new ReportGenericRequest();

            reqSaveFS.paramString = rep_params;
            //

            ListResponse <FlatSchedule> respSaveFS = _timeAttendanceService.ChildGetAll <FlatSchedule>(reqSaveFS);

            if (!respSaveFS.Success)
            {
                Common.errorMessage(respSaveFS);
                return;
            }

            currentFlat = respSaveFS.Items;


            List <FlatSchedule> listToDelete = new List <FlatSchedule>();
            DateTime            fromday      = dateFrom.SelectedDate;
            DateTime            today        = dateFrom.SelectedDate;
            DateTimeRange       fixRange     = new DateTimeRange();
            DateTimeRange       compareRange = new DateTimeRange();
            List <FlatSchedule> temp         = new List <FlatSchedule>();
            int counter = 0;

            do
            {
                temp = currentFlat.Where(x => x.dtFrom.Date == fromday.Date).ToList();

                foreach (FlatSchedule f in temp)
                {
                    fixRange.Start     = f.dtFrom;
                    fixRange.End       = f.dtTo;
                    compareRange.Start = f.dtFrom.Date + new TimeSpan(timeFrom.SelectedTime.Hours, timeFrom.SelectedTime.Minutes, 0);
                    compareRange.End   = f.dtFrom.Date + new TimeSpan(timeTo.SelectedTime.Hours, timeTo.SelectedTime.Minutes, 0);
                    if (compareRange.Intersects(fixRange))
                    {
                        listToDelete.Add(f);
                    }
                }

                fromday = fromday.AddDays(1);
                counter++;
            } while (fromday <= today && counter != 3000);


            PostRequest <FlatSchedule> deleteRequest = new PostRequest <FlatSchedule>();

            listToDelete.ForEach(x =>
            {
                deleteRequest.entity = x;
                PostResponse <FlatSchedule> deleteResp = _timeAttendanceService.ChildDelete <FlatSchedule>(deleteRequest);
                if (!deleteResp.Success)
                {
                    Common.errorMessage(deleteResp);
                }
            });


            FlatSchedule fs = new FlatSchedule();

            fs.dtFrom     = new DateTime(dateFrom.SelectedDate.Year, dateFrom.SelectedDate.Month, dateFrom.SelectedDate.Day, timeFrom.SelectedTime.Hours, timeFrom.SelectedTime.Minutes, 0);
            fs.dtTo       = new DateTime(dateFrom.SelectedDate.Year, dateFrom.SelectedDate.Month, dateFrom.SelectedDate.Day, timeTo.SelectedTime.Hours, timeTo.SelectedTime.Minutes, 0);
            fs.employeeId = Convert.ToInt32(currentEmployee.Text);


            PostRequest <FlatSchedule> request = new PostRequest <FlatSchedule>();

            request.entity = fs;
            PostResponse <FlatSchedule> r = _timeAttendanceService.ChildAddOrUpdate <FlatSchedule>(request);


            //check if the insert failed
            if (!r.Success)//it maybe be another condition
            {
                //Show an error saving...
                X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                Common.errorMessage(r);
                return;
            }
            OpenCell(currentEmployee.Text);
        }