コード例 #1
0
        public ActionResult DeletePTO(Guid Id)
        {
            AccrualTimeJournal atj = db.AccrualTimeJournal.Find(Id);

            db.Entry(atj).State = System.Data.Entity.EntityState.Deleted;
            db.SaveChanges();

            return(Json(new { code = 1, status = "success", message = "The PTO been successfully deleted!" }, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public JsonResult EditPTO(Guid Id)
        {
            DateTime           Date  = DateTime.Parse(Request["Date"]);
            int                Type  = int.Parse(Request["Type"]);
            float              Hours = float.Parse(Request["Hours"]);
            string             Memo  = Request["Hours"];
            AccrualTimeJournal atj   = db.AccrualTimeJournal.Find(Id);

            atj.Date  = Date;
            atj.Type  = Type;
            atj.Hours = Hours;
            atj.Memo  = Memo;
            db.Entry <AccrualTimeJournal>(atj).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();
            return(Json(new { code = 1, status = "success", message = "success add!" }, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
        public JsonResult GetEmployeePTO(Guid Id)
        {
            AppUser                     user = LoginUser;
            AccrualTimeJournal          atj  = db.AccrualTimeJournal.Find(Id);
            Dictionary <string, object> dic  = new Dictionary <string, object>();

            dic.Add("Id", atj.Id);
            dic.Add("EmployeeId", atj.EmployeeId);
            dic.Add("Date", TimeHelper.GetLocalTime(atj.Date, Convert.ToDouble(user.TimeZone)).ToString("yyyy-MM-dd"));
            dic.Add("Type", atj.Type);
            dic.Add("Hours", atj.Hours);
            dic.Add("Usage", atj.Hours < 0 ? -1 : 1);
            dic.Add("Memo", atj.Memo);

            return(Json(dic, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public ActionResult addPTO(AccrualTimeJournal atj)
        {
            AppUser  user          = LoginUser;
            DateTime startTime     = TimeHelper.GetUTCTime(new DateTime(atj.Date.Year, 1, 1), Convert.ToDouble(user.TimeZone));
            DateTime endTime       = TimeHelper.GetUTCTime(startTime.AddMonths(12), Convert.ToDouble(user.TimeZone));
            Employee e             = db.Employee.Where(t => t.EmployeeId == atj.EmployeeId).SingleOrDefault();
            float    TotalThisYear = db.AccrualTimeJournal.Where(t => t.EmployeeId == atj.EmployeeId && t.Date >= startTime && t.Date <= endTime).Sum(t => (float?)t.Hours) ?? 0;

            atj.Id           = Guid.NewGuid();
            atj.Date         = TimeHelper.GetUTCTime(atj.Date, double.Parse(user.TimeZone));
            atj.EmployeeName = e.FName + " " + e.LName;
            atj.SSN          = e.SSN;
            atj.CreateDate   = DateTime.UtcNow;

            double CapPTO = GetStoragePTOHours(e.EmployeeId, atj.Date.Year, user, atj.Type);

            if ((TotalThisYear + atj.Hours) > CapPTO)
            {
                return(Json(new { code = 3, status = "error", message = "Your remaining PTO time is only " + (CapPTO - TotalThisYear) + " hours(" + atj.Date.Year + "), Please confirm and try again ! " }, JsonRequestBehavior.AllowGet));
            }
            db.AccrualTimeJournal.Add(atj);
            db.SaveChanges();
            return(Json(new { code = 1, status = "success", message = "success add!" }, JsonRequestBehavior.AllowGet));
        }