Exemple #1
0
        public async Task <JsonResult> LoginUser(string Code, string imageUri)
        {
            try
            {
                var path  = Server.MapPath("/UPLOADS/SubscriberFiles/" + CurrentUser.CompanyID);
                var file  = PathChecker.FindAvailableFileName(path, "File");
                var users = UsersUtility.FilterByCompany(CurrentUser.CompanyID, _userService.GetAll().Result.ToList());
                var user  = UsersUtility.FilterByCode(StringFormatter.RemoveStringCharacter(" ", Code), users);
                if (user.Count > 0)
                {
                    var attendance = AttendanceUtility.FilterByCompanyID(CurrentUser.CompanyID, _attendanceService.GetAll().Result.ToList());
                    attendance = AttendanceUtility.FilterByUserID(user.FirstOrDefault().ID, attendance, false);
                    attendance = AttendanceUtility.FilterByDateFromTo(GetCurrentTime(), GetCurrentTime(), attendance);

                    if (attendance.Count > 0)
                    {
                        var attendanceData = new Attendance();
                        //checks if there is already a timeins if true then timeout that attendance else time in a user
                        var timeout = AttendanceUtility.FilterTimeIn(attendance, false);
                        if (timeout.Count > 0)
                        {
                            if (ImageUpload.UriToServer(imageUri, path + "/" + file))
                            {
                                attendanceData = timeout.FirstOrDefault();
                                attendanceData.TimeOutImage = "/UPLOADS/SubscriberFiles/" + CurrentUser.CompanyID + "/" + file;
                                attendanceData.TimeOut      = GetCurrentTime().TimeOfDay;
                                attendanceData.UpdatedAt    = GetCurrentTime();
                            }
                        }
                        else
                        {
                            if (ImageUpload.UriToServer(imageUri, path + "/" + file))
                            {
                                //time in user attendance check if there are timeins already
                                var timeins = AttendanceUtility.FilterTimeIn(attendance, true);
                                attendanceData             = timeins.FirstOrDefault();
                                attendanceData.TimeInImage = "/UPLOADS/SubscriberFiles/" + CurrentUser.CompanyID + "/" + file;
                                attendanceData.TimeIn      = GetCurrentTime().TimeOfDay;
                                attendanceData.UpdatedAt   = GetCurrentTime();
                            }
                        }
                        _attendanceService.Update(attendanceData);
                        return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { success = false, message = MessageUtility.TimeOff() }));
                    }
                }

                return(Json(new { success = false, message = MessageUtility.UserLoginIDNONExist() }));
            }
            catch (Exception e) { return(Json(new { success = false, message = MessageUtility.ServerError(), error = e })); }
        }
Exemple #2
0
 public async Task <JsonResult> GetAllByCompanyID()
 {
     try {
         var list = _userService.GetAll().Result.ToList();
         list = UsersUtility.FilterByCompany(CurrentUser.CompanyID, list);
         list = UsersUtility.FilterByIsArchived(list, false);
         var vms = UsersUtility.MsToVMs(list);
         return(Json(new { success = true, data = vms, count = list.Count }, JsonRequestBehavior.AllowGet));
     } catch (Exception e) {
         Console.WriteLine(e);
         return(Json(new { success = false }));
     }
 }