/// <summary>
        /// Fills the timesheet template with necessary values
        /// </summary>
        /// <param name="timesheet"></param>
        /// <param name="outputPath"></param>
        public void FillPdf(TimesheetModel timesheet, string outputPath)
        {
            string inputPath = Path.Combine(hostingEnvironment.ContentRootPath, "timesheets\\blank_timesheet-rotated.pdf");
            // read the timesheet template
            PdfReader reader = new PdfReader(inputPath);

            // Work with only page 1
            reader.SelectPages("1");
            // stamper to fill the timesheet template
            PdfStamper stamper = new PdfStamper(reader, new FileStream(outputPath, FileMode.Create));
            // PdfContentByte from stamper to add content to the pages over the original content
            PdfContentByte pbfOver = stamper.GetOverContent(1);

            // add content to the page using ColumnText
            ColumnText.ShowTextAligned(pbfOver, Element.ALIGN_LEFT, new Phrase(timesheet.employee), 150, 520, 0);
            ColumnText.ShowTextAligned(pbfOver, Element.ALIGN_LEFT, new Phrase(timesheet.startPeriod + " - " + timesheet.endPeriod), 115, 472, 0);
            ColumnText.ShowTextAligned(pbfOver, Element.ALIGN_LEFT, new Phrase(timesheet.payDate), 390, 472, 0);
            // iterate through the x locations on the timesheet template and add each time value to its given position
            foreach (var time in timesheet.timesheetTotals)
            {
                ColumnText.ShowTextAligned(pbfOver, Element.ALIGN_LEFT, new Phrase(time.Start), (int)time.Day, 390, 0);
                ColumnText.ShowTextAligned(pbfOver, Element.ALIGN_LEFT, new Phrase(time.LunchStart), (int)time.Day, 375, 0);
                ColumnText.ShowTextAligned(pbfOver, Element.ALIGN_LEFT, new Phrase(time.LunchEnd), (int)time.Day, 360, 0);
                ColumnText.ShowTextAligned(pbfOver, Element.ALIGN_LEFT, new Phrase(time.End), (int)time.Day, 345, 0);
            }
            // date timesheet was filled
            ColumnText.ShowTextAligned(pbfOver, Element.ALIGN_LEFT, new Phrase(timesheet.date), 520, 74, 0);
            // The below will make sure the fields are not editable in the output PDF.
            stamper.FormFlattening = true;
            // close pdf stamper and reader
            stamper.Close();
            reader.Close();
        }
Exemplo n.º 2
0
 private void Expenselist_ItemTapped(object sender, ItemTappedEventArgs e)
 {
     if (CrossConnectivity.Current.IsConnected)
     {
         try
         {
             TimesheetModel data = (TimesheetModel)e.Item;
             Navigation.PushAsync(new TimeSheetDetailPage(data));
         }
         catch (Exception exce)
         {
             int j = 0;
             //ExpenseModelDB data = (ExpenseModelDB)e.Item;
             //Navigation.PushAsync(new ExpenseDetailPage(data));
         }
     }
     else
     {
         //try
         //{
         //    ExpenseModelDB data = (ExpenseModelDB)e.Item;
         //    Navigation.PushAsync(new ExpenseDetailPage(data));
         //}
         //catch
         //{
         //    ExpenseModel data = (ExpenseModel)e.Item;
         //    Navigation.PushAsync(new ExpenseDetailPage(data));
         //}
     }
 }
Exemplo n.º 3
0
        public bool SubmitTimeSheet(TimesheetModel Model)
        {
            using (var conn = new SqlConnection(TimesheetConnectionString))
            {
                conn.Open();
                string qry = "update [Timesheet_tbl] set Description = '" + Model.Description + "' , SubmitedDate = '" + System.DateTime.Now + "' , status = 'Submitted' where TimePeriodId  = " + Model.TimePeriodId;
                using (var cmd = new SqlCommand(qry, conn))
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.ExecuteNonQuery();

                    var          timeUtc     = DateTime.UtcNow;
                    TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
                    DateTime     easternTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, easternZone);

                    string qry3 = "update [Timesheet_TBL_info] set SubmittedDateTime = '" + easternTime + "' where TimePeriodId =  " + Model.TimePeriodId;

                    using (var cmd3 = new SqlCommand(qry3, conn))
                    {
                        cmd3.CommandType = CommandType.Text;

                        cmd3.ExecuteNonQuery();
                    }
                }

                return(true);
            }
        }
Exemplo n.º 4
0
        public List <TimesheetModel> GetSubmittedTimeSheets()
        {
            using (var conn = new SqlConnection(TimesheetConnectionString))
            {
                conn.Open();
                string qry = "select * from [Timesheet_tbl] where status = 'Submitted'";
                using (var cmd = new SqlCommand(qry, conn))
                {
                    cmd.CommandType = CommandType.Text;

                    List <TimesheetModel> data = new List <TimesheetModel>();
                    //var myReader = cmd.ExecuteReader();
                    using (var myReader = cmd.ExecuteReader())
                    {
                        try
                        {
                            while (myReader.Read())
                            {
                                var get = new TimesheetModel(myReader);
                                data.Add(get);
                            }
                        }
                        catch (Exception ex)
                        {
                            // LOG ERROR
                            throw ex;
                        }
                    }
                    return(data);
                }
            }
        }
Exemplo n.º 5
0
        public bool Insert(TimesheetModel parameter)
        {
            bool result = false;

            try
            {
                TB_TIMESHEET data = new TB_TIMESHEET();
                using (DB_TIMESHEETEntities db = new DB_TIMESHEETEntities())
                {
                    data.TIMESHEET_DATE   = parameter.DATE_OF;
                    data.EMPLOYEE_ID      = parameter.EMPLOYEE_ID;
                    data.JOBCODE_ID       = parameter.JOB_CODE_ID;
                    data.TICKET_ID        = parameter.TICKET_ID;
                    data.TIMESHEET_REMARK = parameter.DESCRIPTION;
                    data.WORK_HOUR        = decimal.Parse(parameter.WORK_HOUR);
                    data.WORK_LOCATION    = parameter.WORK_LOCATION;

                    db.TB_TIMESHEET.Add(data);
                    db.SaveChanges();
                    result = true;
                }
            }
            catch (Exception ex)
            {
            }
            return(result);
        }
Exemplo n.º 6
0
        public List <TimesheetModel> GetTimePeriodsPerId(string Username, long id)
        {
            using (var conn = new SqlConnection(TimesheetConnectionString))
            {
                conn.Open();
                string qry = "select * from [Timesheet_tbl] where UserName = '******' and TimePeriodId = " + id;
                using (var cmd = new SqlCommand(qry, conn))
                {
                    cmd.CommandType = CommandType.Text;

                    List <TimesheetModel> data = new List <TimesheetModel>();
                    //var myReader = cmd.ExecuteReader();
                    using (var myReader = cmd.ExecuteReader())
                    {
                        try
                        {
                            while (myReader.Read())
                            {
                                var get = new TimesheetModel(myReader);
                                data.Add(get);
                            }
                        }
                        catch (Exception ex)
                        {
                            // LOG ERROR
                            throw ex;
                        }
                    }
                    return(data);
                }
            }
        }
Exemplo n.º 7
0
        public JsonResult List(TimesheetModel param)
        {
            TimeSheetLoginUser    user     = LoginRepo.GetOwnerUser();
            List <TimesheetModel> lstModel = _TimeSheetRepo.GetList(user.id);

            return(Json(lstModel, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 8
0
        // GET: Timesheet
        public ActionResult Index(int id)
        {
            var timesheetViewModel = new TimesheetModel {
                UserId = id
            };

            return(View(timesheetViewModel));
        }
Exemplo n.º 9
0
        public ActionResult GroupedTimesheet(FormCollection form)
        {
            // Session["projectID"] = f;
            DSRCManagementSystemEntities1 db = new DSRCManagementSystemEntities1();
            TimesheetModel objTimesheet      = new TimesheetModel();

            try
            {
                int ProjectId   = int.Parse(Session["projectID"].ToString());
                var ColumnNames = (from t in db.TimeSheetColumns where t.ProjectID == ProjectId select t.ColumnNames).ToList();

                int n = ColumnNames.Count();
                Dictionary <string, string> timeSheetValueDic = new Dictionary <string, string>();
                string values = ""; int TimesheetColumnID, UserID, ProjectID;
                string TimeSheetValue = "", Date;
                string timesheetColumnName = "";
                for (int i = 0; i < n; i++)
                {
                    string results = form[ColumnNames[i]];
                    timesheetColumnName = ColumnNames[i];

                    if (results != ",")
                    {
                        values = results.Remove(results.Length - 2, 2);

                        timeSheetValueDic.Add(timesheetColumnName, values);
                    }
                    else
                    {
                        timeSheetValueDic.Add(timesheetColumnName, null);
                    }
                }

                int s = 0;
                foreach (KeyValuePair <string, string> timesheet in timeSheetValueDic)
                {
                    //change
                    TimesheetColumnID = int.Parse(timesheet.Key);
                    TimeSheetValue    = timesheet.Value;
                    UserID            = int.Parse(Session["UserID"].ToString());
                    ProjectID         = 27;
                    Date = DateTime.Now.ToString();
                    if (s == 0)
                    {
                        objTimesheet.InsertTimesheet(TimesheetColumnID, TimeSheetValue, UserID, ProjectID, Date);
                    }
                }
            }
            catch (Exception Ex)
            {
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                ExceptionHandlingController.ExceptionDetails(Ex, actionName, controllerName);
            }
            return(RedirectToAction("Success", "Popup"));
        }
Exemplo n.º 10
0
 public ActionResult Edit([Bind(Include = "id,conges,heure,jour,poste,employer_id_userId")] TimesheetModel timesheetModel)
 {
     if (ModelState.IsValid)
     {
         db.Entry(timesheetModel).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(timesheetModel));
 }
Exemplo n.º 11
0
        public IActionResult Put(int id, [FromBody] TimesheetModel timesheet)
        {
            timesheet.Id = id;
            var tempTimesheet = _timesheetService.Update(timesheet.ToDomainModel());

            if (tempTimesheet == null)
            {
                return(NotFound());
            }
            return(Ok(tempTimesheet));
        }
            protected override void Given()
            {
                UserId        = 1;
                TimesheetDate = new DateTime(2018, 1, 1);
                HoursWorked   = 1;

                TimesheetModel = new TimesheetModel
                {
                    UserId = UserId,
                    Date   = TimesheetDate,
                    Hours  = HoursWorked
                };
            }
Exemplo n.º 13
0
 public bool SubmitTimeSheet([FromBody] TimesheetModel Model)
 {
     try
     {
         TimesheetRepositrory _searchRepository = new TimesheetRepositrory();
         var Result = _searchRepository.SubmitTimeSheet(Model);
         return(Result);
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Exemplo n.º 14
0
 public List <TimesheetModel> GetTimePeriodsPerId(TimesheetModel Model)
 {
     try
     {
         TimesheetRepositrory _searchRepository = new TimesheetRepositrory();
         var result = _searchRepository.GetTimePeriodsPerId(Model.UserName, Model.TimePeriodId);
         return(result);
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Exemplo n.º 15
0
 public bool AddTimePeriods([FromBody] TimesheetModel Model)
 {
     try
     {
         TimesheetRepositrory _searchRepository = new TimesheetRepositrory();
         var Result = _searchRepository.AddTimePeriods(Model);
         return(Result);
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Exemplo n.º 16
0
 public IActionResult Put(int profileId, int timesheeId, [FromBody] TimesheetModel timesheetModel)
 {
     try
     {
         var updatedTimesheet = _timesheetService.Update(timesheetModel.ToDomainModel());
         return(Ok(updatedTimesheet));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("UpdateTimesheet", ex.Message);
         return(BadRequest(ModelState));
     }
 }
Exemplo n.º 17
0
 public IActionResult Post([FromBody] TimesheetModel timesheet)
 {
     try
     {
         _timesheetService.Add(timesheet.ToDomainModel());
     }
     catch (System.Exception ex)
     {
         ModelState.AddModelError("AddTimesheet", ex.Message);
         return(BadRequest(ModelState));
     }
     return(CreatedAtAction("Get", new { Id = timesheet.Id }, timesheet));
 }
Exemplo n.º 18
0
 public IActionResult Post(int profileId, [FromBody] TimesheetModel timesheetModel)
 {
     try
     {
         var timesheet = timesheetModel.ToDomainModel();
         _timesheetService.Add(timesheet);
         return(Ok(timesheet));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("AddTimesheet", ex.Message);
         return(BadRequest(ModelState));
     }
 }
Exemplo n.º 19
0
 public ActionResult Index()
 {
     if (string.IsNullOrEmpty(Session["authorized"] as string))
     {
         return(RedirectToAction("index", "Login"));
     }
     else
     {
         TimesheetModel model = new TimesheetModel();
         model.DATE_OF           = DateTime.Now;
         model.JOB_CODE_LIST     = _TimeSheetRepo.GetAllJobCode();
         model.SUB_JOB_CODE_LIST = _TimeSheetRepo.GetAllSubJobCode();
         return(View(model));
     }
 }
Exemplo n.º 20
0
        public JsonResult SaveTimeSheet(TimesheetModel param)
        {
            string checkOver = "";
            bool   result    = false;

            param.EMPLOYEE_ID = LoginRepo.GetOwnerUser().id;

            if (param.EMPLOYEE_ID != -1)
            {
                if (param.TYPE == "N")
                {
                    bool checkDayOff = _TimeSheetRepo.CheckDayOff8(param.DATE_OF, param.LEAVE, param.EMPLOYEE_ID);
                    if (checkDayOff)
                    {
                        //วันลา
                        param.JOB_CODE_ID   = 0;
                        param.TICKET_ID     = null;
                        param.DESCRIPTION   = param.LEAVE;
                        param.WORK_HOUR     = "0";
                        param.WORK_LOCATION = "";

                        result = _TimeSheetRepo.Insert(param);
                    }
                    else
                    {
                        checkOver = "Please input valid leave hours in a day !";
                    }
                }
                else
                {
                    bool checkWorkDay = _TimeSheetRepo.CheckWorkDay8(param.DATE_OF, param.WORK_HOUR, param.EMPLOYEE_ID);
                    if (checkWorkDay)
                    {
                        result = _TimeSheetRepo.Insert(param);
                    }
                    else
                    {
                        checkOver = "Please input valid work hours in a day !";
                    }
                }

                return(Json(new { result = result, message = checkOver }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { result = result, message = "Timeout" }, JsonRequestBehavior.AllowGet));
            }
        }
        public IActionResult UpdateTimesheet(string id, TimesheetModel timesheetIn)
        {
            string fileName = timesheetIn.employee.Substring(0, timesheetIn.employee.LastIndexOf(' ')) + "_" +
                              timesheetIn.startPeriod.Replace("/", ".") + "_" + timesheetIn.endPeriod.Replace("/", ".");
            string outputPath = Path.Combine(hostingEnvironment.ContentRootPath, "timesheets\\" + fileName + ".pdf");
            var    timesheet  = _timesheetService.Get(id);

            if (timesheet == null)
            {
                return(NotFound());
            }

            _timesheetService.Update(id, timesheetIn);
            FillPdf(timesheetIn, outputPath);

            return(NoContent());
        }
Exemplo n.º 22
0
        // GET: Report
        public ActionResult Display(int id)
        {
            var timesheets = _timesheetRepository.Get(id);

            var viewModel = new List <TimesheetModel>();

            foreach (var timesheet in timesheets)
            {
                var timesheetModel = new TimesheetModel
                {
                    Hours = timesheet.HoursWorked,
                    Date  = timesheet.Date
                };
                viewModel.Add(timesheetModel);
            }
            return(View(viewModel));
        }
Exemplo n.º 23
0
        public void Should_not_set_value()
        {
            var source = new TimesheetModel
            {
                Contact           = 6,
                ContactNavigation = new ContactModel {
                    Id = 5
                }
            };
            var dest = new TimesheetViewModel {
                Contact = 10
            };

            Mapper.Map(dest, source);

            source.ContactNavigation.Id.ShouldBe(5);
        }
Exemplo n.º 24
0
        void _log(object obj)
        {
            try
            {
                //get employee's data by id number
                var empLog = _employeeRepository.GetById(Int32.Parse(TimeLog));

                var LogData = new TimesheetModel()
                {
                    EmployeeID = empLog.EmployeeID
                };

                //if employee has logged in for the day, log out
                if (TimesheetTable.Contains(LogData))
                {
                    LogData = TimesheetTable[TimesheetTable.IndexOf(LogData)];

                    if (LogData.OutTime == default)
                    {
                        LogData.OutTime = DateTime.Now;

                        _timesheetRepository.Update(LogData);

                        MessageBox.Show($"Goodbye {empLog.FullName}! You logged out at {LogData.OutTime:hh:mm tt}");
                    }
                }
                //otherwise, log in
                else
                {
                    LogData.Date   = DateTime.Now;
                    LogData.InTime = DateTime.Now;

                    _timesheetRepository.Add(LogData);

                    MessageBox.Show($"Welcome {empLog.FullName}! You logged in at {LogData.InTime:hh:mm tt}");
                }

                //reload table and clear timelog textbox
                _loadTimesheet();
                TimeLog = string.Empty;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Exemplo n.º 25
0
        public ActionResult Index(TimesheetModel timesheet)
        {
            if (!ModelState.IsValid)
            {
                return(View(timesheet));
            }

            _timesheetRepository.Save(timesheet.UserId, timesheet.Hours, timesheet.Date);
            var manager = _userRepository.GetManager(timesheet.UserId);

            if (manager != null)
            {
                _emailService.SendEmail(manager.EmailAddress);
            }

            return(RedirectToAction("Display", "Report", new { id = timesheet.UserId }));
        }
Exemplo n.º 26
0
        public bool AddTimePeriods(TimesheetModel Model)
        {
            using (var conn = new SqlConnection(TimesheetConnectionString))
            {
                TimesheetModel data = new TimesheetModel();
                conn.Open();
                string qry = "insert into [Timesheet_tbl] (TimePeriods,UserName,Hours,duration,status,Created) values ('" + Model.TimePeriods + "','" + Model.UserName + "',0,0,'Not Submitted','" + System.DateTime.Now + "')";
                using (var cmd = new SqlCommand(qry, conn))
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.ExecuteNonQuery();


                    string qry2 = "select max(TimePeriodId) as TimePeriodId from Timesheet_tbl where TimePeriods = '" + Model.TimePeriods + "' and UserName = '******'";

                    using (var cmd2 = new SqlCommand(qry2, conn))
                    {
                        cmd.CommandType = CommandType.Text;
                        var myReader = cmd2.ExecuteReader();

                        myReader.Read();


                        data.TimePeriodId = (long)myReader["TimePeriodId"];

                        myReader.Close();

                        var          timeUtc     = DateTime.UtcNow;
                        TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
                        DateTime     easternTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, easternZone);

                        string qry3 = "INSERT INTO [dbo].[Timesheet_TBL_info] ([TimePeriodId],[CreatedPeriodDateTime]) VALUES (" + data.TimePeriodId + ",'" + easternTime + "')";

                        using (var cmd3 = new SqlCommand(qry3, conn))
                        {
                            cmd.CommandType = CommandType.Text;

                            cmd3.ExecuteNonQuery();
                        }
                    }
                }

                return(true);
            }
        }
Exemplo n.º 27
0
        public JsonResult UpdateStatistic(TimesheetModel model)
        {
            if (!this.permissionService.Authorize(StandardPermissionProvider.UpdateConsumptionRecord))
            {
                return(AccessDeniedJson());
            }

            DateTime selectedDate;

            if (!DateTime.TryParse(model.DateOfWeek, out selectedDate))
            {
                return(null);
            }
            var timesheet = Mapper.Map <TimesheetModel, Timesheet>(model);

            timesheetService.UpdateTimesheet(selectedDate, timesheet);
            return(Json(model));
        }
        public ActionResult <TimesheetModel> PostTimesheet(TimesheetModel timesheet)
        {
            string fileName = timesheet.employee.Substring(0, timesheet.employee.LastIndexOf(' ')) + "_" +
                              timesheet.startPeriod.Replace("/", ".") + "_" + timesheet.endPeriod.Replace("/", ".");
            string outputPath = Path.Combine(hostingEnvironment.ContentRootPath, "timesheets\\" + fileName + ".pdf");

            if (System.IO.File.Exists(outputPath))
            {
                return(BadRequest("File already exists"));
            }
            else
            {
                _timesheetService.Create(timesheet);
                FillPdf(timesheet, outputPath);

                return(CreatedAtRoute(
                           routeName: "GetTimesheet",
                           routeValues: new { id = timesheet.Id },
                           value: timesheet));
            }
        }
            protected override void Given()
            {
                UserId        = 1;
                TimesheetDate = new DateTime(2018, 1, 1);
                HoursWorked   = 1;
                EmailAddress  = "*****@*****.**";

                TimesheetModel = new TimesheetModel
                {
                    UserId = UserId,
                    Date   = TimesheetDate,
                    Hours  = HoursWorked
                };

                Manager = new Manager
                {
                    EmailAddress = EmailAddress
                };

                GetMockFor <IUserRepository>().Setup(r => r.GetManager(UserId)).Returns(Manager);
            }
Exemplo n.º 30
0
        //
        // GET: /TimeSheet/

        public ActionResult Create()
        {
            //try
            //{
            //    int tyy = 0;
            //    tyy /= tyy;
            //}
            //catch (Exception ex)
            //{
            //    throw ex;
            //}
            DSRCManagementSystemEntities1 db = new DSRCManagementSystemEntities1();
            TimesheetModel objtimesheet      = new TimesheetModel();

            try
            {
                int           userID  = int.Parse(Session["UserID"].ToString());
                List <string> groupID = new List <string>();
                var           result  = (from UP in db.UserProjects
                                         join
                                         P in db.Projects on UP.ProjectID equals P.ProjectID
                                         where P.IsActive == true && UP.UserID == userID
                                         select new
                {
                    ProjectID = P.ProjectID,
                    ProjectName = P.ProjectName
                }).ToList();



                ViewBag.ProjectList = new SelectList(result, "ProjectID", "ProjectName");
            }
            catch (Exception Ex)
            {
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                ExceptionHandlingController.ExceptionDetails(Ex, actionName, controllerName);
            }
            return(View());
        }