Пример #1
0
        public static DtoTimeSheet DtoTimeSheet(TimeSheetView ts, bool isEmpty = false)
        {
            var timeSheet = new DtoTimeSheet
            {
                IdTimeSheet     = ts.id,
                DateBegin       = ts.DateBeginPeriod,
                DateEnd         = ts.DateEndPeriod,
                DateComposition = ts.DateComposition,
                Department      = DtoDepartment(ts.Dep.Department),
                ApproveStep     = ts.ApproveStep,
                IsFake          = ts.IsFake,
                EmployeesCount  = ts.EmployeeCount
            };

            if (isEmpty)
            {
                return(timeSheet);
            }
            var rec       = ts.TimeSheetRecord.ToArray();
            var employees = rec.DistinctBy(d => d.idFactStaffHistory);

            timeSheet.Employees = employees.Select(s => DtoTimeSheetEmployee(s.FactStaffHistory, rec.Where(w => w.idFactStaffHistory == s.idFactStaffHistory))).ToArray();

            return(timeSheet);
        }
        // GET: TimeSheets/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var timeSheet = db.TimeSheets.Find(id);

            if (timeSheet == null)
            {
                return(HttpNotFound());
            }

            var timeSheetFile = timeSheet.File;
            var tempFileName  = Path.GetTempFileName();

            using (var stream = new FileStream(tempFileName, FileMode.Create))
            {
                stream.Write(timeSheetFile, 0, timeSheetFile.Length);
            }

            var numberOfDays = 0;
            var text         = new List <Dictionary <Employee, List <JobStatus> > >();

            using (var sr = new StreamReader(tempFileName, Encoding.GetEncoding(1251)))
            {
                var line = sr.ReadLine();
                while ((line = sr.ReadLine()) != null)
                {
                    numberOfDays = line.Split(';').Length - 1;

                    var strEmployeeId = line.Substring(0, line.IndexOf(';'));
                    var employeeId    = int.Parse(strEmployeeId);
                    var employee      = db.Employees.First(x => x.Id == employeeId);
                    line = line.Replace(string.Join(string.Empty, strEmployeeId, ";"), string.Empty);

                    var listJobStatus = new List <JobStatus>();
                    foreach (var jobStatus in line.Split(';'))
                    {
                        Enum.TryParse(jobStatus, out JobStatus jS);
                        listJobStatus.Add(jS);
                    }

                    var dictionary = new Dictionary <Employee, List <JobStatus> > {
                        { employee, new List <JobStatus>(listJobStatus) }
                    };
                    text.Add(new Dictionary <Employee, List <JobStatus> >(dictionary));

                    listJobStatus.Clear();
                    dictionary.Clear();
                }
            }

            ViewBag.JobStatus = Enum.GetValues(typeof(JobStatus)).Cast <JobStatus>();
            var timeSheetView = new TimeSheetView(timeSheet, text, numberOfDays);

            return(View(timeSheetView));
        }
        private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (CheckOpenSimulation())
            {
                return;
            }
            //Limpando a view atual
            UserControl usc = null;

            GridMain.Children.Clear();

            //Verificando qual tela será carregada
            switch (((ListViewItem)((ListView)sender).SelectedItem).Name)
            {
            case "Main":
                usc = new HomeView();
                GridMain.Children.Add(usc);
                break;

            case "EDPSimulation":
                usc = new SimulationEDP();
                GridMain.Children.Add(usc);
                break;

            case "CostFormation":
                usc = new HomeView();
                GridMain.Children.Add(usc);
                CostFormationView window = new CostFormationView();
                window.ShowDialog();
                window.Activate();
                break;

            case "TimeSheet":
                if (Menu.usermanager == null)
                {
                    MessageBox.Show("Usuário não existe na base de dados atual!", "Aviso", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
                usc = new TimeSheetView();
                GridMain.Children.Add(usc);
                break;

            case "Settings":
                usc = new SettingsView();
                GridMain.Children.Add(usc);
                break;

            default:
                break;
            }
        }
Пример #4
0
 public TimeSheetManager(int idDepartment, DateTime dateBeginPeriod, DateTime dateEndPeriod, int idApprover, bool isFake = false)
 {
     SetDataContext();
     _timeSheet = new TimeSheetView
     {
         idDepartment    = idDepartment,
         idCreater       = idApprover,
         DateBeginPeriod = dateBeginPeriod,
         DateEndPeriod   = dateEndPeriod,
         DateComposition = DateTime.Now,
         ApproveStep     = 0,
         IsFake          = isFake,
         id = -1
     };
 }
Пример #5
0
        public static DtoTimeSheet DtoTimeSheet(TimeSheetView ts)
        {
            var timeSheet = new DtoTimeSheet
            {
                IdTimeSheet     = ts.id,
                DateBegin       = ts.DateBeginPeriod,
                DateEnd         = ts.DateEndPeriod,
                DateComposition = ts.DateComposition,
                Department      = DtoDepartment(ts.Dep.Department),
                IsFake          = ts.IsFake,
                EmployeesCount  = ts.EmployeeCount,
                ApproveStep     = ts.ApproveStep
            };

            return(timeSheet);
        }
Пример #6
0
        public ActionResult TimesheetAuthorized(int ResourcesID)
        {
            if (TempData["TimeSerachBO"] != null || Request.IsAjaxRequest())
            {
                TimeSheetView timeSheetView1 = new TimeSheetView();
                TimeSearchBO  TsearchBO      = TempData["TimeSerachBO"] as TimeSearchBO;

                timeSheetView1.timeSheetBBO         = timeSheetBL.GetfilterTimeSheet(TsearchBO).Where(x => x.ResourcesID == ResourcesID).SingleOrDefault();
                timeSheetView1.timeSheetBBO.MonthID = TsearchBO.MonthID;
                timeSheetView1.timeSheetBBO.Year    = TsearchBO.Year;

                return(Json(new { success = true, partialview = RenderViewToString("_TimeSheetAuthorized", timeSheetView1.timeSheetBBO), message = "" }));
            }

            return(RedirectToAction("TimeSheet"));
        }
Пример #7
0
        public ActionResult SearchTimeSheet(TimeSearchBO TsearchBO, string ButtonType)
        {
            TimeSheetView timeSheetView1 = new TimeSheetView();

            timeSheetView1.TsearchBBO    = TsearchBO;
            timeSheetView1.timeSheetView = timeSheetBL.GetfilterTimeSheet(TsearchBO);

            TempData["TimeSerachBO"] = TsearchBO;
            if (ButtonType == "Search")
            {
                return(PartialView("_TimeSheetView", timeSheetView1.timeSheetView));
            }

            else
            {
                viewBagList();
                timeSheetView1.graphID = 123;
                return(PartialView("_GraphView", timeSheetView1.timeSheetView));
            }
        }
Пример #8
0
        public ActionResult TimeSheet(TimeSheetView timeSheetView)
        {
            // = new TimeSheetView();
            TempData["TimeSerachBO"] = timeSheetView.TsearchBBO;
            if (TempData["TimeSerachBO"] != null)
            {
                timeSheetView.TsearchBBO = TempData["TimeSerachBO"] as TimeSearchBO;
            }
            else
            {
                timeSheetView.TsearchBBO         = new TimeSearchBO();
                timeSheetView.TsearchBBO.MonthID = DateTime.Now.Month;
                timeSheetView.TsearchBBO.Year    = DateTime.Now.Year.ToString();
            }
            viewBagList();

            TimeSheetBO timeSheetBO   = new TimeSheetBO();
            var         timeSheetList = timeSheetBL.GetfilterTimeSheet(timeSheetView.TsearchBBO);

            timeSheetView.timeSheetBBO  = new TimeSheetBO();
            timeSheetView.timeSheetView = timeSheetList;
            TempData["TimeSerachBO"]    = timeSheetView.TsearchBBO;
            return(View(timeSheetView));
        }