public static string GetText(this AttendanceProof attendanceProof)
        {
            switch (attendanceProof)
            {
            case AttendanceProof.RequiredIn:
                return("بصمة دخول");

            case AttendanceProof.Exempted:
                return("معفي");

            default:
                return("بصمة دخول و خروج");
            }
        }
Esempio n. 2
0
        public static string GetName(this AttendanceProof attendanceProof)
        {
            switch (attendanceProof)
            {
            case AttendanceProof.RequiredInOut:
                return("حضور و انصراف");

            case AttendanceProof.RequiredIn:
                return("حضور فقط");

            default:
                return("معفي");
            }
        }
        public async Task <IActionResult> AddOrUpdateEmployeeCalendar(int employeeId, int calendarId, bool isOpenCalendar, DateTime startDate, DateTime endDate, ContractWorkTime workTime, AttendanceProof attendanceProof, string note)
        {
            try
            {
                var newData = new EmployeeCalendar
                {
                    Id               = calendarId,
                    StartDate        = startDate,
                    EndDate          = isOpenCalendar? default(DateTime?) : endDate,
                    ContractWorkTime = workTime,
                    AttendanceProof  = attendanceProof,
                    EmployeeId       = employeeId,
                    Note             = note,
                };

                if (User.Identity.IsAuthenticated)
                {
                    newData.UserId = User.Identity.Name.ConvertToInteger();
                }

                if (newData.Id == 0)
                {
                    var saveResult = await _employeesCalendarsManager.InsertNewAsync(newData);

                    if (saveResult.Status == RepositoryActionStatus.Created)
                    {
                        return(Json("ok"));
                    }
                    else
                    {
                        return(Json(new { errors = "Error" }));
                    }
                }
                else
                {
                    var currentData = await _employeesCalendarsManager.GetByIdAsync(newData.Id);

                    if (currentData == null)
                    {
                        return(Json(new { errors = "NotFound" }));
                    }

                    currentData.StartDate        = newData.StartDate;
                    currentData.EndDate          = newData.EndDate;
                    currentData.ContractWorkTime = newData.ContractWorkTime;
                    currentData.AttendanceProof  = newData.AttendanceProof;
                    currentData.Note             = newData.Note;
                    currentData.UserId           = newData.UserId;

                    var updateResult = await _employeesCalendarsManager.UpdateDataItem(currentData);

                    if (updateResult.Status == RepositoryActionStatus.Updated)
                    {
                        return(Json("ok"));
                    }
                    else
                    {
                        return(Json(new { errors = "Error" }));
                    }
                }
            }
            catch (Exception ex)
            {
                if (!string.IsNullOrWhiteSpace(ex.Message))
                {
                    if (ex.Message.Contains("before"))
                    {
                        return(Json(new { errors = "enddate" }));
                    }
                }
                return(Json(new { errors = "Error" }));
            }
        }