public int UpdateEmployeeAttendance(EmployeeAttendanceModel employeeModel) { int result = 0; using (SqlConnection con = new SqlConnection(_ConnectionString.Value.ConnectionString)) { con.Open(); SqlTransaction sqltrans = con.BeginTransaction(); var query = "UPDATE EmployeeAttendance SET " + " EmployeeId=@EmployeeId, LogDate=@LogDate, InTime=@InTime, OutTime=@OutTime, " + "TotalTimeCount=@TotalTimeCount, UpdateStatus=@UpdateStatus, Notes=@Notes " + "WHERE Id = @Id;"; result = con.Execute(query, employeeModel, sqltrans, 0, System.Data.CommandType.Text); if (result > 0) { sqltrans.Commit(); } else { sqltrans.Rollback(); } } return(result); }
public int InsertEmployeeAttendance(EmployeeAttendanceModel employeeModel) { int result = 0; using (SqlConnection con = new SqlConnection(_ConnectionString.Value.ConnectionString)) { employeeModel.UpdateStatus = (Framework.AttendanceStatus?) 1; //Manullly by defauly employeeModel.TotalTimeCount = (int)((employeeModel.OutTime.TotalMinutes - employeeModel.InTime.TotalMinutes) / 60); con.Open(); SqlTransaction sqltrans = con.BeginTransaction(); var query = "INSERT INTO EmployeeAttendance " + "(EmployeeId,LogDate,InTime,OutTime,TotalTimeCount,UpdateStatus,Notes) " + " VALUES " + "(@EmployeeId,@LogDate,@InTime,@OutTime,@TotalTimeCount,@UpdateStatus,@Notes); " + " SELECT CAST(SCOPE_IDENTITY() as INT);"; result = con.Execute(query, employeeModel, sqltrans, 0, System.Data.CommandType.Text); if (result > 0) { sqltrans.Commit(); } else { sqltrans.Rollback(); } } return(result); }
private string ValidationEmployeeAttendance(EmployeeAttendanceModel employeeAttendanceModel) { string ErrorString = string.Empty; double timeDiffrent = employeeAttendanceModel.OutTime.TotalMinutes - employeeAttendanceModel.InTime.TotalMinutes; if (string.IsNullOrEmpty(employeeAttendanceModel.EmployeeId.ToString()) || employeeAttendanceModel.EmployeeId == 0) { ErrorString = _locService.GetLocalizedHtmlString("ValidAddOnesName"); return(ErrorString); } if (timeDiffrent <= 0) { ErrorString = _locService.GetLocalizedHtmlString("ValidAddOnesName"); return(ErrorString); } return(ErrorString); }
public void UpdateWorkDaysAttendance(EmployeeAttendanceModel attendance) { var userId = this.GetCurrentUserId(); var upt = this._repoEmployeeAttendance.Find(attendance.id); if (attendance.workDay != null) { upt.workDayId = attendance.workDay.value; } else { upt.workDayId = null; } upt.workDate = attendance.workDate; upt.updatedBy = userId; upt.updatedDate = DateTime.Now; this._repoEmployeeAttendance.Update(upt); this._unitOfWork.Save(); }
private EmployeeAttendanceModel PrepareEmployeeAttendanceModel(EmployeeAttendance employeeAttendance) { EmployeeAttendanceModel employeeAttendanceTemp = new EmployeeAttendanceModel(); employeeAttendanceTemp.Id = employeeAttendance.Id; employeeAttendanceTemp.Date = employeeAttendance.Date.AddMinutes(timeZoneOffset).ToString("dd MMM yyyy"); employeeAttendanceTemp.EmployeeId = employeeAttendance.EmployeeId; if (employeeAttendanceTemp.EmployeeId > 0) { employeeAttendanceTemp.EmployeeName = employeeAttendance.Employee.FullName; } employeeAttendanceTemp.Note = employeeAttendance.Note; employeeAttendanceTemp.RemarkId = employeeAttendance.RemarkId; if (employeeAttendanceTemp.RemarkId > 0) { employeeAttendanceTemp.AttendanceRemarkName = employeeAttendance.AttendanceRemark.Name; } employeeAttendanceTemp.Time = employeeAttendance.Time; employeeAttendanceTemp.Type = employeeAttendance.Type; employeeAttendanceTemp.SchoolId = employeeAttendance.SchoolId; if (employeeAttendanceTemp.SchoolId > 0) { employeeAttendanceTemp.SchoolName = employeeAttendance.School.Name; employeeAttendanceTemp.UpazilaId = employeeAttendance.School.UpazilaId; if (employeeAttendanceTemp.UpazilaId > 0) { //employeeAttendanceTemp.UpazilaName = employeeAttendance.School.Upazila.Name; employeeAttendanceTemp.DistrictId = employeeAttendance.School.Upazila.DistrictId; if (employeeAttendanceTemp.DistrictId > 0) { //employeeAttendanceTemp.DistrictName = employeeAttendance.School.Upazila.District.Name; employeeAttendanceTemp.DivisionId = employeeAttendance.School.Upazila.District.DivisionId; if (employeeAttendanceTemp.DivisionId > 0) { //employeeAttendanceTemp.DivisionName = employeeAttendance.School.Upazila.District.Division.Name; employeeAttendanceTemp.GeoName = employeeAttendance.School.Upazila.District.Division.Name + " - " + employeeAttendance.School.Upazila.District.Name + " - " + employeeAttendance.School.Upazila.Name; } } } } return(employeeAttendanceTemp); }
public int ValidationEmployeeAttendance(EmployeeAttendanceModel employeeAttendanceModel) { int result = 1; using (SqlConnection con = new SqlConnection(_ConnectionString.Value.ConnectionString)) { List <EmployeeAttendanceModel> employeeAttendanceModels = new List <EmployeeAttendanceModel>(); var query = "SELECT * FROM EMPLOYEEATTENDANCE WHERE EMPLOYEEID= " + employeeAttendanceModel.EmployeeId.ToString() + "AND convert(varchar,LOGDATE,5) = '" + employeeAttendanceModel.LogDate.ToString("dd-MM-yy") + "';"; employeeAttendanceModels = con.Query <EmployeeAttendanceModel>(query).ToList(); if (employeeAttendanceModels.Count > 0) { result = 0; } return(result); } }
public ActionResult EmployeeAttendance(EmployeeAttendanceModel employeeAttendanceModel, string submitButton) { employeeAttendanceModel.EmployeeList = _iDropDownService.GetEmployeeList(); if (!ModelState.IsValid) { string errorString = this.ValidationEmployeeAttendance(employeeAttendanceModel); if (!string.IsNullOrEmpty(errorString)) { ViewBag.Validate = errorString; return(View(employeeAttendanceModel)); } } if (_iemployeeAttendanceService.ValidationEmployeeAttendance(employeeAttendanceModel) == 0) { ViewBag.Validate = "Employee with same log date already exits"; return(View(employeeAttendanceModel)); } else { if (employeeAttendanceModel.Id > 0) { var result = _iemployeeAttendanceService.UpdateEmployeeAttendance(employeeAttendanceModel); ViewBag.Result = _locService.GetLocalizedHtmlString("EditSuccss"); } else { var result = _iemployeeAttendanceService.InsertEmployeeAttendance(employeeAttendanceModel); ViewBag.Result = _locService.GetLocalizedHtmlString("SaveSuccess"); } } return(RedirectToAction("Index", "EmployeeAttendance")); }
public ActionResult EmployeeAttendance(int?id) { EmployeeAttendanceModel employeeAttendanceModel = new EmployeeAttendanceModel(); if (UserRolePermissionForPage.Add == true || UserRolePermissionForPage.Edit == true) { if (id > 0) { int userId = Convert.ToInt32(id); employeeAttendanceModel = _iemployeeAttendanceService.GetEmployeeAttendaceById(userId); } else { employeeAttendanceModel.LogDate = DateTime.Now; } employeeAttendanceModel.EmployeeList = _iDropDownService.GetEmployeeList(); return(View(employeeAttendanceModel)); } else { return(RedirectToAction("NotFound", "Error")); } }
public async Task <ApiResponse> Handle(GetEmployeesAttendanceByDateQuery request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { int month = DateTime.Parse(request.SelectedDate).Month; List <EmployeeAttendance> empattendancelist = await _dbContext.EmployeeAttendance.Where(x => x.Date.Date == DateTime.Parse(request.SelectedDate).Date).ToListAsync(); //marked or not List <EmployeeDetail> activelist = await _dbContext.EmployeeDetail .Include(x => x.EmployeeProfessionalDetail) // use to get officeId .Include(x => x.EmployeeAttendance) .Where(x => x.EmployeeProfessionalDetail.OfficeId == request.OfficeId && x.EmployeeProfessionalDetail.HiredOn.Value.Date <= DateTime.Parse(request.SelectedDate).Date&& x.EmployeeProfessionalDetail.EmployeeTypeId == (int)EmployeeTypeStatus.Active && x.IsDeleted == false && x.EmployeeProfessionalDetail.AttendanceGroupId == request.AttendanceGroupId) .OrderBy(x => x.EmployeeID) .ToListAsync(); //EmployeeTypeId is moved to EmployeeProfessionalDetails table IList <EmployeeAttendanceModel> empAttModel = new List <EmployeeAttendanceModel>(); if (request.AttendanceStatus) { empAttModel = activelist.SelectMany(x => x.EmployeeAttendance) .Where(x => x.Date.Date == DateTime.Parse(request.SelectedDate).Date) .Select(x => new EmployeeAttendanceModel { AttendanceId = x.AttendanceId, EmployeeId = x.EmployeeId, Date = x.Date, InTime = x.InTime.Value, OutTime = x.OutTime, AttendanceTypeId = x.AttendanceTypeId, EmployeeName = x.EmployeeDetails.EmployeeName, EmployeeCode = x.EmployeeDetails.EmployeeCode, LeaveStatus = x.AttendanceId == (int)AttendanceType.L ? true : false, OfficeId = x.EmployeeDetails.EmployeeProfessionalDetail.OfficeId }).ToList(); if (empAttModel.Count == 0 || empAttModel == null) { response.data.AttendanceStatus = false; //attendance already marked } else { response.data.AttendanceStatus = true; //not marked } } else { int count = 0; //Get Default In-time and out-time for an office and for current year and current month PayrollMonthlyHourDetail xPayrollMonthlyHourDetail = _dbContext.PayrollMonthlyHourDetail.FirstOrDefault(x => x.IsDeleted == false && x.OfficeId == request.OfficeId && x.PayrollYear == DateTime.Now.Year && x.PayrollMonth == month && x.AttendanceGroupId == request.AttendanceGroupId); if (xPayrollMonthlyHourDetail != null) { foreach (var item in activelist) { EmployeeAttendanceModel obj = new EmployeeAttendanceModel(); count = empattendancelist.Where(x => x.EmployeeId == item.EmployeeID).ToList().Count(); if (count == 0) { obj.EmployeeId = item.EmployeeID; obj.EmployeeName = item.EmployeeName; obj.EmployeeCode = item.EmployeeCode; obj.AttendanceTypeId = (int)AttendanceType.P; obj.Date = DateTime.UtcNow; obj.InTime = xPayrollMonthlyHourDetail.InTime; obj.OutTime = xPayrollMonthlyHourDetail.OutTime; obj.LeaveStatus = false; obj.OfficeId = request.OfficeId; empAttModel.Add(obj); } } if (empAttModel.Count == 0 || empAttModel == null) { response.data.AttendanceStatus = false; //attendance already marked } else { response.data.AttendanceStatus = true; //not marked } } else { response.StatusCode = StaticResource.failStatusCode; response.Message = "Intime and Outtime not set for office"; } } response.data.EmployeeAttendanceList = empAttModel; response.StatusCode = response.StatusCode == 0 ? StaticResource.successStatusCode : response.StatusCode; //if message is empty then success else there is already some error message response.Message = string.IsNullOrEmpty(response.Message) ? "Success" : response.Message; } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = ex.Message; } return(response); }
public ActionResult Index() { ViewBag.Message = Session["msg"]; ViewBag.Error = Session["err"]; Session["err"] = ""; Session["msg"] = ""; int companyacademicyearid = Convert.ToInt16(Session["CompanyAcademicYearID"].ToString()); int roleid = Convert.ToInt16(Session["RoleID"].ToString()); int userid = Convert.ToInt16(Session["UserID"].ToString()); int schoolid = Convert.ToInt16(Session["SchoolID"].ToString()); System.Globalization.DateTimeFormatInfo mfi = new System.Globalization.DateTimeFormatInfo(); DateTime dte = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day); DateTime dteyearstart = Convert.ToDateTime(DateTime.Now.Year + "-01-01"); if (Request.QueryString["date"] != null) { try { dte = Convert.ToDateTime(Request.QueryString["date"]); dte = Convert.ToDateTime(dte.Year + "-" + dte.Month + "-" + dte.Day); } catch { } } List <EmployeeAttendanceModel> employeeAttendancemodelList = new List <EmployeeAttendanceModel>(); Calendar calendar = db.Calendars.Where(c => c.Date == dte).FirstOrDefault(); if (calendar.IsHoliday) { ViewBag.Error = " Selected date : " + dte.Day + " - " + mfi.GetMonthName(dte.Month).Substring(0, 3) + " - " + dte.Year + " is HOLIDAY : " + calendar.Description; calendar = db.Calendars.Where(c => c.Date <= dte && c.IsHoliday == false).OrderByDescending(c => c.Date).FirstOrDefault(); dte = calendar.Date; dte = Convert.ToDateTime(dte.Year + "-" + dte.Month + "-" + dte.Day); } int workingdays = db.Calendars.Where(c => c.Date <= dte && c.Date >= dteyearstart && c.IsHoliday == false).Count(); foreach (Employee employee in db.Employees.ToList()) { EmployeeAttendance isEmployeeAdded = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate == calendar.Date).FirstOrDefault(); if (isEmployeeAdded == null) { EmployeeAttendance employeeAttendancenew = new EmployeeAttendance(); employeeAttendancenew.AttendanceTypeID = 2; employeeAttendancenew.AttendanceDate = calendar.Date; employeeAttendancenew.EmployeeID = employee.EmployeeID; employeeAttendancenew.UserID = userid; employeeAttendancenew.UpdatedDate = DateTime.Now; db.EmployeeAttendances.Add(employeeAttendancenew); db.SaveChanges(); } else { //EmployeeAttendance employeeAttendanceexist = db.EmployeeAttendances.Find(isEmployeeAdded.EmployeeAttendanceID); //int attendeddays = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 1).Count(); //double perc = Convert.ToInt16(attendeddays) * 100 / Convert.ToInt16(workingdays); //decimal perc1 = Convert.ToDecimal(string.Format("{0:0.00}", perc)); //employeeAttendanceexist.Percentage = perc1; //db.Entry(employeeAttendanceexist).State = EntityState.Modified; //db.SaveChanges(); } } var employeeAttendance = db.EmployeeAttendances.Include(s => s.CurrentEmployee).Include(s => s.CurrentUser).Where(s => s.AttendanceDate == calendar.Date).OrderBy(t => t.CurrentEmployee.Name).ToList(); foreach (EmployeeAttendance ta in employeeAttendance) { int presentdays = db.EmployeeAttendances.Where(s => s.EmployeeID == ta.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 1).Count(); int absentdays = db.EmployeeAttendances.Where(s => s.EmployeeID == ta.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 2).Count(); int leavedays = db.EmployeeAttendances.Where(s => s.EmployeeID == ta.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 3).Count(); EmployeeAttendanceModel employeeAttendancemodel = new EmployeeAttendanceModel(); employeeAttendancemodel.EmployeeAttendanceID = ta.EmployeeAttendanceID; employeeAttendancemodel.EmployeeID = ta.EmployeeID; employeeAttendancemodel.EmployeeName = ta.CurrentEmployee.Name; employeeAttendancemodel.AttendanceTypeID = ta.AttendanceTypeID; employeeAttendancemodel.BackDay1 = ""; employeeAttendancemodel.BackDay2 = ""; employeeAttendancemodel.BackDay3 = ""; employeeAttendancemodel.BackDay4 = ""; employeeAttendancemodel.BackDay5 = ""; employeeAttendancemodel.BackDay6 = ""; employeeAttendancemodel.Present = presentdays; employeeAttendancemodel.Absent = absentdays; employeeAttendancemodel.Leave = leavedays; employeeAttendancemodelList.Add(employeeAttendancemodel); } ViewBag.SelectedDate = calendar.Date.Day + " " + mfi.GetMonthName(calendar.Date.Month).Substring(0, 3) + " " + calendar.Date.Year; dte = calendar.Date.AddDays(-1); calendar = db.Calendars.Where(c => c.Date <= dte && c.IsHoliday == false).OrderByDescending(c => c.Date).FirstOrDefault(); foreach (Employee employee in db.Employees.ToList()) { EmployeeAttendance isEmployeeAdded = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate == calendar.Date).FirstOrDefault(); if (isEmployeeAdded == null) { EmployeeAttendance employeeAttendancenew = new EmployeeAttendance(); employeeAttendancenew.AttendanceTypeID = 2; employeeAttendancenew.AttendanceDate = calendar.Date; employeeAttendancenew.EmployeeID = employee.EmployeeID; employeeAttendancenew.UserID = userid; employeeAttendancenew.UpdatedDate = DateTime.Now; db.EmployeeAttendances.Add(employeeAttendancenew); db.SaveChanges(); } else { //EmployeeAttendance employeeAttendanceexist = db.EmployeeAttendances.Find(isEmployeeAdded.EmployeeAttendanceID); //int attendeddays = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 1).Count(); //double perc = Convert.ToInt16(attendeddays) * 100 / Convert.ToInt16(workingdays); //decimal perc1 = Convert.ToDecimal(string.Format("{0:0.00}", perc)); //employeeAttendanceexist.Percentage = perc1; //db.Entry(employeeAttendanceexist).State = EntityState.Modified; //db.SaveChanges(); } } employeeAttendance = db.EmployeeAttendances.Include(s => s.CurrentAttendanceType).Include(s => s.CurrentEmployee).Include(s => s.CurrentUser).Where(s => s.AttendanceDate == calendar.Date).OrderBy(t => t.CurrentEmployee.Name).ToList(); foreach (EmployeeAttendance ta in employeeAttendance) { EmployeeAttendanceModel employeeattendanceid = employeeAttendancemodelList.Find(item => item.EmployeeID == ta.EmployeeID); employeeattendanceid.BackDay1 = ta.CurrentAttendanceType.Name; } ViewBag.BackDay1 = calendar.Date.Day + " " + mfi.GetMonthName(calendar.Date.Month).Substring(0, 3); dte = calendar.Date.AddDays(-1); calendar = db.Calendars.Where(c => c.Date <= dte && c.IsHoliday == false).OrderByDescending(c => c.Date).FirstOrDefault(); foreach (Employee employee in db.Employees.ToList()) { EmployeeAttendance isEmployeeAdded = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate == calendar.Date).FirstOrDefault(); if (isEmployeeAdded == null) { EmployeeAttendance employeeAttendancenew = new EmployeeAttendance(); employeeAttendancenew.AttendanceTypeID = 2; employeeAttendancenew.AttendanceDate = calendar.Date; employeeAttendancenew.EmployeeID = employee.EmployeeID; employeeAttendancenew.UserID = userid; employeeAttendancenew.UpdatedDate = DateTime.Now; db.EmployeeAttendances.Add(employeeAttendancenew); db.SaveChanges(); } else { //EmployeeAttendance employeeAttendanceexist = db.EmployeeAttendances.Find(isEmployeeAdded.EmployeeAttendanceID); //int attendeddays = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 1).Count(); //double perc = Convert.ToInt16(attendeddays) * 100 / Convert.ToInt16(workingdays); //decimal perc1 = Convert.ToDecimal(string.Format("{0:0.00}", perc)); //employeeAttendanceexist.Percentage = perc1; //db.Entry(employeeAttendanceexist).State = EntityState.Modified; //db.SaveChanges(); } } employeeAttendance = db.EmployeeAttendances.Include(s => s.CurrentAttendanceType).Include(s => s.CurrentEmployee).Include(s => s.CurrentUser).Where(s => s.AttendanceDate == calendar.Date).OrderBy(t => t.CurrentEmployee.Name).ToList(); foreach (EmployeeAttendance ta in employeeAttendance) { EmployeeAttendanceModel employeeattendanceid = employeeAttendancemodelList.Find(item => item.EmployeeID == ta.EmployeeID); employeeattendanceid.BackDay2 = ta.CurrentAttendanceType.Name; } ViewBag.BackDay2 = calendar.Date.Day + " " + mfi.GetMonthName(calendar.Date.Month).Substring(0, 3); dte = calendar.Date.AddDays(-1); calendar = db.Calendars.Where(c => c.Date <= dte && c.IsHoliday == false).OrderByDescending(c => c.Date).FirstOrDefault(); foreach (Employee employee in db.Employees.ToList()) { EmployeeAttendance isEmployeeAdded = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate == calendar.Date).FirstOrDefault(); if (isEmployeeAdded == null) { EmployeeAttendance employeeAttendancenew = new EmployeeAttendance(); employeeAttendancenew.AttendanceTypeID = 2; employeeAttendancenew.AttendanceDate = calendar.Date; employeeAttendancenew.EmployeeID = employee.EmployeeID; employeeAttendancenew.UserID = userid; employeeAttendancenew.UpdatedDate = DateTime.Now; db.EmployeeAttendances.Add(employeeAttendancenew); db.SaveChanges(); } else { //EmployeeAttendance employeeAttendanceexist = db.EmployeeAttendances.Find(isEmployeeAdded.EmployeeAttendanceID); //int attendeddays = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 1).Count(); //double perc = Convert.ToInt16(attendeddays) * 100 / Convert.ToInt16(workingdays); //decimal perc1 = Convert.ToDecimal(string.Format("{0:0.00}", perc)); //employeeAttendanceexist.Percentage = perc1; //db.Entry(employeeAttendanceexist).State = EntityState.Modified; //db.SaveChanges(); } } employeeAttendance = db.EmployeeAttendances.Include(s => s.CurrentAttendanceType).Include(s => s.CurrentEmployee).Include(s => s.CurrentUser).Where(s => s.AttendanceDate == calendar.Date).OrderBy(t => t.CurrentEmployee.Name).ToList(); foreach (EmployeeAttendance ta in employeeAttendance) { EmployeeAttendanceModel employeeattendanceid = employeeAttendancemodelList.Find(item => item.EmployeeID == ta.EmployeeID); employeeattendanceid.BackDay3 = ta.CurrentAttendanceType.Name; } ViewBag.BackDay3 = calendar.Date.Day + " " + mfi.GetMonthName(calendar.Date.Month).Substring(0, 3); dte = calendar.Date.AddDays(-1); calendar = db.Calendars.Where(c => c.Date <= dte && c.IsHoliday == false).OrderByDescending(c => c.Date).FirstOrDefault(); foreach (Employee employee in db.Employees.ToList()) { EmployeeAttendance isEmployeeAdded = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate == calendar.Date).FirstOrDefault(); if (isEmployeeAdded == null) { EmployeeAttendance employeeAttendancenew = new EmployeeAttendance(); employeeAttendancenew.AttendanceTypeID = 2; employeeAttendancenew.AttendanceDate = calendar.Date; employeeAttendancenew.EmployeeID = employee.EmployeeID; employeeAttendancenew.UserID = userid; employeeAttendancenew.UpdatedDate = DateTime.Now; db.EmployeeAttendances.Add(employeeAttendancenew); db.SaveChanges(); } else { //EmployeeAttendance employeeAttendanceexist = db.EmployeeAttendances.Find(isEmployeeAdded.EmployeeAttendanceID); //int attendeddays = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 1).Count(); //double perc = Convert.ToInt16(attendeddays) * 100 / Convert.ToInt16(workingdays); //decimal perc1 = Convert.ToDecimal(string.Format("{0:0.00}", perc)); //employeeAttendanceexist.Percentage = perc1; //db.Entry(employeeAttendanceexist).State = EntityState.Modified; //db.SaveChanges(); } } employeeAttendance = db.EmployeeAttendances.Include(s => s.CurrentAttendanceType).Include(s => s.CurrentEmployee).Include(s => s.CurrentUser).Where(s => s.AttendanceDate == calendar.Date).OrderBy(t => t.CurrentEmployee.Name).ToList(); foreach (EmployeeAttendance ta in employeeAttendance) { EmployeeAttendanceModel employeeattendanceid = employeeAttendancemodelList.Find(item => item.EmployeeID == ta.EmployeeID); employeeattendanceid.BackDay4 = ta.CurrentAttendanceType.Name; } ViewBag.BackDay4 = calendar.Date.Day + " " + mfi.GetMonthName(calendar.Date.Month).Substring(0, 3); dte = calendar.Date.AddDays(-1); calendar = db.Calendars.Where(c => c.Date <= dte && c.IsHoliday == false).OrderByDescending(c => c.Date).FirstOrDefault(); foreach (Employee employee in db.Employees.ToList()) { EmployeeAttendance isEmployeeAdded = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate == calendar.Date).FirstOrDefault(); if (isEmployeeAdded == null) { EmployeeAttendance employeeAttendancenew = new EmployeeAttendance(); employeeAttendancenew.AttendanceTypeID = 2; employeeAttendancenew.AttendanceDate = calendar.Date; employeeAttendancenew.EmployeeID = employee.EmployeeID; employeeAttendancenew.UserID = userid; employeeAttendancenew.UpdatedDate = DateTime.Now; db.EmployeeAttendances.Add(employeeAttendancenew); db.SaveChanges(); } else { //EmployeeAttendance employeeAttendanceexist = db.EmployeeAttendances.Find(isEmployeeAdded.EmployeeAttendanceID); //int attendeddays = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 1).Count(); //double perc = Convert.ToInt16(attendeddays) * 100 / Convert.ToInt16(workingdays); //decimal perc1 = Convert.ToDecimal(string.Format("{0:0.00}", perc)); //employeeAttendanceexist.Percentage = perc1; //db.Entry(employeeAttendanceexist).State = EntityState.Modified; //db.SaveChanges(); } } employeeAttendance = db.EmployeeAttendances.Include(s => s.CurrentAttendanceType).Include(s => s.CurrentEmployee).Include(s => s.CurrentUser).Where(s => s.AttendanceDate == calendar.Date).OrderBy(t => t.CurrentEmployee.Name).ToList(); foreach (EmployeeAttendance ta in employeeAttendance) { EmployeeAttendanceModel employeeattendanceid = employeeAttendancemodelList.Find(item => item.EmployeeID == ta.EmployeeID); employeeattendanceid.BackDay5 = ta.CurrentAttendanceType.Name; } ViewBag.BackDay5 = calendar.Date.Day + " " + mfi.GetMonthName(calendar.Date.Month).Substring(0, 3); dte = calendar.Date.AddDays(-1); calendar = db.Calendars.Where(c => c.Date <= dte && c.IsHoliday == false).OrderByDescending(c => c.Date).FirstOrDefault(); foreach (Employee employee in db.Employees.ToList()) { EmployeeAttendance isEmployeeAdded = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate == calendar.Date).FirstOrDefault(); if (isEmployeeAdded == null) { EmployeeAttendance employeeAttendancenew = new EmployeeAttendance(); employeeAttendancenew.AttendanceTypeID = 2; employeeAttendancenew.AttendanceDate = calendar.Date; employeeAttendancenew.EmployeeID = employee.EmployeeID; employeeAttendancenew.UserID = userid; employeeAttendancenew.UpdatedDate = DateTime.Now; db.EmployeeAttendances.Add(employeeAttendancenew); db.SaveChanges(); } else { //EmployeeAttendance employeeAttendanceexist = db.EmployeeAttendances.Find(isEmployeeAdded.EmployeeAttendanceID); //int attendeddays = db.EmployeeAttendances.Where(s => s.EmployeeID == employee.EmployeeID && s.AttendanceDate <= calendar.Date && s.AttendanceTypeID == 1).Count(); //double perc = Convert.ToInt16(attendeddays) * 100 / Convert.ToInt16(workingdays); //decimal perc1 = Convert.ToDecimal(string.Format("{0:0.00}", perc)); //employeeAttendanceexist.Percentage = perc1; //db.Entry(employeeAttendanceexist).State = EntityState.Modified; //db.SaveChanges(); } } employeeAttendance = db.EmployeeAttendances.Include(s => s.CurrentAttendanceType).Include(s => s.CurrentEmployee).Include(s => s.CurrentUser).Where(s => s.AttendanceDate == calendar.Date).OrderBy(t => t.CurrentEmployee.Name).ToList(); foreach (EmployeeAttendance ta in employeeAttendance) { EmployeeAttendanceModel employeeattendanceid = employeeAttendancemodelList.Find(item => item.EmployeeID == ta.EmployeeID); employeeattendanceid.BackDay6 = ta.CurrentAttendanceType.Name; } ViewBag.BackDay6 = calendar.Date.Day + " " + mfi.GetMonthName(calendar.Date.Month).Substring(0, 3); ViewBag.AttendanceTypeID = db.AttendanceTypes.ToList(); return(View(employeeAttendancemodelList)); }
public ActionResult EmployeeAttendanceUpdate([DataSourceRequest] DataSourceRequest request, EmployeeAttendanceModel model) { var results = new List <EmployeeAttendanceModel>(); if (model != null) { try { this._attendanceService.UpdateWorkDaysAttendance(model); results.Add(model); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } } return(Json(results.ToDataSourceResult(request, ModelState))); }
public static EmployeeAttendance ToEntity(this EmployeeAttendanceModel model, EmployeeAttendance destination) { return(model.MapTo(destination)); }
public static EmployeeAttendance ToEntity(this EmployeeAttendanceModel model) { return(model.MapTo <EmployeeAttendanceModel, EmployeeAttendance>()); }
public int ValidationEmployeeAttendance(EmployeeAttendanceModel employeeAttendanceModel) { return(_iEmployeeAttendanceReportsitory.ValidationEmployeeAttendance(employeeAttendanceModel)); }
public int UpdateEmployeeAttendance(EmployeeAttendanceModel employeeAttendanceModel) { return(_iEmployeeAttendanceReportsitory.UpdateEmployeeAttendance(employeeAttendanceModel)); }
public int InsertEmployeeAttendance(EmployeeAttendanceModel employeeAttendanceModel) { return(_iEmployeeAttendanceReportsitory.InsertEmployeeAttendance(employeeAttendanceModel)); }