Esempio n. 1
0
 public int UploadImageInDataBase(HttpPostedFileBase file, string _empNo)
 {
     using (var context = new TAS2013Entities())
     {
         List<EmpPhoto> _empPhotoList = new List<EmpPhoto>();
         EmpPhoto _EmpPhoto = new EmpPhoto();
         Emp _Emp = new Emp();
         int empPhotoID = 0;
         _Emp = context.Emps.First(aa => aa.EmpNo == _empNo);
         _empPhotoList = context.EmpPhotoes.Where(aa => aa.EmpID == _Emp.EmpID).ToList();
         _EmpPhoto.EmpPic = ConvertToBytes(file);
         if (_empPhotoList.Count > 0)
         {
             //Update Existing Image
             _EmpPhoto.EmpID = _empPhotoList.FirstOrDefault().EmpID;
             _EmpPhoto.PhotoID = _empPhotoList.FirstOrDefault().PhotoID;
         }
         else
         {
             //Add New Image
             _EmpPhoto.EmpID = _Emp.EmpID;
             context.EmpPhotoes.Add(_EmpPhoto);
         }
         try
         {
             empPhotoID = _EmpPhoto.PhotoID;
             context.SaveChanges();
             return empPhotoID;
         }
         catch (Exception ex)
         {
             return empPhotoID;
         }
     }
 }
Esempio n. 2
0
        public void AddHalfLeaveToLeaveData(LvApplication lvappl)
        {
            DateTime datetime = new DateTime();
            datetime = lvappl.FromDate;
            string _EmpDate = lvappl.EmpID + datetime.Date.ToString("yyMMdd");
            LvData _LVData = new LvData();
            _LVData.EmpID = lvappl.EmpID;
            _LVData.EmpDate = _EmpDate;
            _LVData.Remarks = lvappl.LvReason;
            _LVData.HalfLeave = true;
            _LVData.LvID = lvappl.LvID;
            _LVData.AttDate = datetime.Date;
            _LVData.LvCode = lvappl.LvType;
            _LVData.FirstHalf = lvappl.FirstHalf;
            try
            {
                using (var db = new TAS2013Entities())
                {
                    db.LvDatas.Add(_LVData);
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {

            }
            // Balance Leaves from Emp Table
            BalanceLeaves(lvappl);
        }
Esempio n. 3
0
        public int UploadImageInDataBase(HttpPostedFileBase file, Emp _Emp)
        {
            using (var context = new TAS2013Entities())
            {
                List<EmpPhoto> _empPhotoList = new List<EmpPhoto>();
                EmpPhoto _EmpPhoto = new EmpPhoto();
                int empPhotoID = 0;

                _empPhotoList = context.EmpPhotoes.Where(aa => aa.EmpID == _Emp.EmpID).ToList();
                _EmpPhoto.EmpPic = ConvertToBytes(file);
                if (_empPhotoList.Count > 0)
                {
                    _EmpPhoto.PhotoID = _empPhotoList.FirstOrDefault().PhotoID;
                    _empPhotoList.FirstOrDefault().EmpPic = _EmpPhoto.EmpPic;
                    context.EmpPhotoes.Attach(_empPhotoList.FirstOrDefault());
                    context.Entry(_empPhotoList.FirstOrDefault()).State = EntityState.Modified;
                    context.SaveChanges();

                }
                else
                {
                    //Add New Image
                    _EmpPhoto.EmpID = _Emp.EmpID;
                    context.EmpPhotoes.Add(_EmpPhoto);
                }
                try
                {

                    empPhotoID = _EmpPhoto.PhotoID;
                    context.SaveChanges();
                    return empPhotoID;
                }
                catch (Exception ex)
                {
                    return empPhotoID;
                }
            }
        }
Esempio n. 4
0
        public void AddHalfLeaveToAttData(LvApplication lvappl)
        {
            DateTime datetime = new DateTime();
            datetime = lvappl.FromDate;
            string _EmpDate = lvappl.EmpID + datetime.Date.ToString("yyMMdd");
            using (var db = new TAS2013Entities())
            {
                if (db.AttProcesses.Where(aa => aa.ProcessDate == datetime).Count() > 0)
                {
                    AttData _EmpAttData = new AttData();
                    _EmpAttData = db.AttDatas.First(aa => aa.EmpDate == _EmpDate);
                    if (lvappl.LvType == "A")//Casual Leave
                        _EmpAttData.Remarks = _EmpAttData.Remarks+"[H-CL]";
                    if (lvappl.LvType == "B")//Anual Leave
                        _EmpAttData.Remarks = _EmpAttData.Remarks+"[H-AL]";
                    if (lvappl.LvType == "C")//Sick Leave
                        _EmpAttData.Remarks = _EmpAttData.Remarks+"[H-SL]";

                    if (_EmpAttData.Remarks.Contains("[Absent]"))
                        _EmpAttData.Remarks.Replace("[Abesnt]", "");
                    if (_EmpAttData.Remarks.Contains("[EO]"))
                        _EmpAttData.Remarks.Replace("[EO]", "-");
                    if (_EmpAttData.Remarks.Contains("[LI]"))
                        _EmpAttData.Remarks.Replace("[LI]", "");
                    _EmpAttData.StatusLeave = true;
                    if (lvappl.FirstHalf == true)
                    {
                        _EmpAttData.LateIn = 0;
                        _EmpAttData.StatusLI = false;
                    }
                    else
                    {
                        _EmpAttData.StatusEO = false;
                        _EmpAttData.EarlyOut = 0;
                    }
                    //_EmpAttData.statushl

                    db.SaveChanges();
                }
            }
        }
Esempio n. 5
0
 public void BalanceLeaves(LvApplication lvappl)
 {
     using (var ctx = new TAS2013Entities())
     {
         List<LvConsumed> _lvConsumed = new List<LvConsumed>();
         string empLvType = lvappl.EmpID.ToString() + lvappl.LvType;
         _lvConsumed = ctx.LvConsumeds.Where(aa => aa.EmpLvType == empLvType).ToList();
         float _NoOfDays = lvappl.NoOfDays;
         if (_lvConsumed.Count > 0)
         {
             _lvConsumed.FirstOrDefault().YearRemaining = (float)(_lvConsumed.FirstOrDefault().YearRemaining - _NoOfDays);
             _lvConsumed.FirstOrDefault().GrandTotalRemaining = (float)(_lvConsumed.FirstOrDefault().GrandTotalRemaining - _NoOfDays);
             if (lvappl.IsHalf == true)
             {
                 AddHalfLeaveBalancceMonthQuota(_lvConsumed, lvappl);
             }
             else
             {
                 AddBalancceMonthQuota(_lvConsumed, lvappl);
             }
                 ctx.SaveChanges();
         }
         ctx.Dispose();
     }
 }
Esempio n. 6
0
 public void AddShortLeaveToAttData(LvShort lvshort)
 {
     DateTime datetime = new DateTime();
     using (var db = new TAS2013Entities())
     {
         if (db.AttProcesses.Where(aa => aa.ProcessDate == datetime).Count() > 0)
         {
             AttData _EmpAttData = new AttData();
             _EmpAttData = db.AttDatas.First(aa => aa.EmpDate == lvshort.EmpDate);
             _EmpAttData.StatusAB = false;
             _EmpAttData.StatusSL = true;
             _EmpAttData.Remarks = _EmpAttData.Remarks + "[Short Leave]";
             db.SaveChanges();
         }
     }
 }
Esempio n. 7
0
        public bool AddLeaveToLeaveData(LvApplication lvappl)
        {
            DateTime datetime = new DateTime();
            datetime = lvappl.FromDate;
            for (int i = 0; i < lvappl.NoOfDays; i++)
            {
                string _EmpDate = lvappl.EmpID + datetime.Date.ToString("yyMMdd");
                LvData _LVData = new LvData();
                _LVData.EmpID = lvappl.EmpID;
                _LVData.EmpDate = _EmpDate;
                _LVData.Remarks = lvappl.LvReason;
                _LVData.LvID = lvappl.LvID;
                _LVData.AttDate = datetime.Date;
                _LVData.LvCode = lvappl.LvType;
                _LVData.CompanyID = lvappl.CompanyID;
                try
                {
                    using (var context = new TAS2013Entities())
                    {
                        context.LvDatas.Add(_LVData);
                        context.SaveChanges();
                    }
                }
                catch (Exception ex)
                {

                }
                datetime = datetime.AddDays(1);
                // Balance Leaves from Emp Table
            }
            BalanceLeaves(lvappl);
            return true;
        }
        private bool AddLateInMarginAttData(string _empDate, int _empID, DateTime _Date, int _userID, short _WorkCardID)
        {
            bool check = false;
            try
            {
                //Late In Job Card
                short LateInMins = 0;
                using (var context = new TAS2013Entities())
                {
                    AttData _attdata = context.AttDatas.FirstOrDefault(aa => aa.EmpDate == _empDate);
                    if (_attdata != null)
                    {
                        _attdata.StatusAB = false;
                        _attdata.Remarks.Replace("[LI]", "");
                        _attdata.Remarks = _attdata.Remarks + "[LI Job Card]";
                        _attdata.LateIn = 0;
                        _attdata.WorkMin = (short)(_attdata.WorkMin + (short)LateInMins);
                        _attdata.StatusLI = false;
                    }
                    context.SaveChanges();
                    if (context.SaveChanges() > 0)
                        check = true;
                    context.Dispose();
                }
            }
            catch (Exception ex)
            {

            }
            return check;
        }
Esempio n. 9
0
 public static void SaveAuditLog(int _userID,short _form,short _operation,DateTime _date)
 {
     using (var ctx = new TAS2013Entities())
     {
         AuditLog auditEntry = new AuditLog();
         auditEntry.AuditUserID = _userID;
         auditEntry.FormID = _form;
         auditEntry.OperationID = _operation;
         auditEntry.AuditDateTime = _date;
         ctx.AuditLogs.Add(auditEntry);
         ctx.SaveChanges();
     }
 }
Esempio n. 10
0
 public bool AddLeaveToLeaveAttData(LvApplication lvappl)
 {
     try
     {
         DateTime datetime = new DateTime();
         datetime = lvappl.FromDate;
         for (int i = 0; i < lvappl.NoOfDays; i++)
         {
             string _EmpDate = lvappl.EmpID + datetime.Date.ToString("yyMMdd");
             using (var context = new TAS2013Entities())
             {
                 if (context.AttProcesses.Where(aa => aa.ProcessDate == datetime).Count() > 0)
                 {
                     AttData _EmpAttData = new AttData();
                     _EmpAttData = context.AttDatas.First(aa => aa.EmpDate == _EmpDate);
                     _EmpAttData.TimeIn = null;
                     _EmpAttData.TimeOut = null;
                     _EmpAttData.WorkMin = null;
                     _EmpAttData.LateIn = null;
                     _EmpAttData.LateOut = null;
                     _EmpAttData.EarlyIn = null;
                     _EmpAttData.EarlyOut = null;
                     _EmpAttData.StatusAB= false;
                     _EmpAttData.StatusLeave = true;
                     _EmpAttData.StatusEI = null;
                     _EmpAttData.StatusEO = null;
                     _EmpAttData.StatusLI = null;
                     _EmpAttData.StatusLI= null;
                     _EmpAttData.StatusLO = null;
                     _EmpAttData.StatusDO = null;
                         _EmpAttData.StatusGZ = null;
                     _EmpAttData.StatusGZOT = null;
                     _EmpAttData.StatusMN = null;
                     _EmpAttData.StatusOD = null;
                     if (lvappl.LvType == "A")//Casual Leave
                         _EmpAttData.Remarks = "[CL]";
                     if (lvappl.LvType == "B")//Anual Leave
                         _EmpAttData.Remarks = "[AL]";
                     if (lvappl.LvType == "C")//Sick Leave
                         _EmpAttData.Remarks = "[SL]";
                     _EmpAttData.StatusAB = false;
                     _EmpAttData.StatusLeave = true;
                     context.SaveChanges();
                 }
             }
             datetime = datetime.AddDays(1);
         }
     }
     catch (Exception  ex)
     {
         return false;
     }
     return true;
 }
Esempio n. 11
0
 public void UpdateLeaveBalance(LvApplication lvappl)
 {
     float LvDays = (float)lvappl.NoOfDays;
     List<LvConsumed> _lvConsumed = new List<LvConsumed>();
     using (var ctx = new TAS2013Entities())
     {
         string empLvType = lvappl.EmpID.ToString() + lvappl.LvType;
         _lvConsumed = ctx.LvConsumeds.Where(aa => aa.EmpLvType == empLvType).ToList();
         if (_lvConsumed.Count > 0)
         {
             _lvConsumed.FirstOrDefault().YearRemaining = (float)(_lvConsumed.FirstOrDefault().YearRemaining + LvDays);
             _lvConsumed.FirstOrDefault().GrandTotalRemaining = (float)(_lvConsumed.FirstOrDefault().GrandTotalRemaining + LvDays);
             SubtractBalancceMonthQuota(_lvConsumed, lvappl);
             ctx.SaveChanges();
         }
         ctx.Dispose();
     }
 }
Esempio n. 12
0
 public void DeleteHLFromLVData(LvApplication lvappl)
 {
     int _EmpID = lvappl.EmpID;
     DateTime Date = lvappl.FromDate;
     while (Date <= lvappl.ToDate)
     {
         using (var context = new TAS2013Entities())
         {
             var _id = context.LvDatas.Where(aa => aa.EmpID == _EmpID && aa.AttDate == Date.Date).FirstOrDefault().EmpDate;
             if (_id != null)
             {
                 LvData lvvdata = context.LvDatas.Find(_id);
                 //lvvdata.Active = false;
                 context.LvDatas.Remove(lvvdata);
                 context.SaveChanges();
             }
         }
         Date = Date.AddDays(1);
     }
 }
Esempio n. 13
0
        public void ManualProcessAttendance(DateTime date, List<Emp> emps)
        {
            BootstrapAttendance(date, emps);
            DateTime dateEnd = date.AddDays(1);
            List<AttData> attData = context.AttDatas.Where(aa => aa.AttDate >= date && aa.AttDate <= dateEnd).ToList();
            List<PollData> unprocessedPolls = context.PollDatas.Where(p => (p.EntDate >= date && p.EntDate <= dateEnd)).OrderBy(e => e.EntTime).ToList();
            foreach (var emp in emps)
            {
                List<PollData> polls = new List<PollData>();
                polls = unprocessedPolls.Where(p => p.EmpID == emp.EmpID).OrderBy(e => e.EntTime).ToList();
                foreach (PollData up in polls)
                {
                    try
                    {
                        //Check AttData with EmpDate
                        if (attData.Where(attd => attd.EmpDate == up.EmpDate).Count() > 0)
                        {
                            AttData attendanceRecord = attData.First(attd => attd.EmpDate == up.EmpDate);
                            employee = attendanceRecord.Emp;
                            Shift shift = employee.Shift;
                            //Set Time In and Time Out in AttData
                            if (attendanceRecord.Emp.Shift.OpenShift == true)
                            {
                                //Set Time In and Time Out for open shift
                                PlaceTimeInOuts.CalculateTimeINOUTOpenShift(attendanceRecord, up);
                                context.SaveChanges();
                            }
                            else
                            {
                                TimeSpan checkTimeEnd = new TimeSpan();
                                DateTime TimeInCheck = new DateTime();
                                if (attendanceRecord.TimeIn == null)
                                {
                                    TimeInCheck = attendanceRecord.AttDate.Value.Add(attendanceRecord.DutyTime.Value);
                                }
                                else
                                    TimeInCheck = attendanceRecord.TimeIn.Value;
                                if (attendanceRecord.ShifMin == 0)
                                    checkTimeEnd = TimeInCheck.TimeOfDay.Add(new TimeSpan(0, 480, 0));
                                else
                                    checkTimeEnd = TimeInCheck.TimeOfDay.Add(new TimeSpan(0, (int)attendanceRecord.ShifMin, 0));
                                if (checkTimeEnd.Days > 0)
                                {
                                    //if Time out occur at next day
                                    if (up.RdrDuty == 5)
                                    {
                                        DateTime dt = new DateTime();
                                        dt = up.EntDate.Date.AddDays(-1);
                                        var _attData = context.AttDatas.FirstOrDefault(aa => aa.AttDate == dt && aa.EmpID == up.EmpID);
                                        if (_attData != null)
                                        {

                                            if (_attData.TimeIn != null)
                                            {
                                                TimeSpan t1 = new TimeSpan(11, 00, 00);
                                                if (up.EntTime.TimeOfDay < t1)
                                                {
                                                    if ((up.EntTime - _attData.TimeIn.Value).Hours < 18)
                                                    {
                                                        attendanceRecord = _attData;
                                                        up.EmpDate = up.EmpID.ToString() + dt.Date.ToString("yyMMdd");
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                attendanceRecord = _attData;
                                                up.EmpDate = up.EmpID.ToString() + dt.Date.ToString("yyMMdd");
                                            }

                                        }
                                    }
                                }
                                //Set Time In and Time Out
                                //Set Time In and Time Out
                                if (up.RdrDuty == 5)
                                {
                                    if (attendanceRecord.TimeIn != null)
                                    {
                                        TimeSpan dt = (TimeSpan)(up.EntTime.TimeOfDay - attendanceRecord.TimeIn.Value.TimeOfDay);
                                        if (dt.Minutes < 0)
                                        {
                                            DateTime dt1 = new DateTime();
                                            dt1 = up.EntDate.Date.AddDays(-1);
                                            var _attData = context.AttDatas.FirstOrDefault(aa => aa.AttDate == dt1 && aa.EmpID == up.EmpID);
                                            attendanceRecord = _attData;
                                            up.EmpDate = up.EmpID.ToString() + dt1.Date.ToString("yyMMdd");
                                            PlaceTimeInOuts.CalculateTimeINOUT(attendanceRecord, up);
                                        }
                                        else
                                            PlaceTimeInOuts.CalculateTimeINOUT(attendanceRecord, up);
                                    }
                                    else
                                        PlaceTimeInOuts.CalculateTimeINOUT(attendanceRecord, up);
                                }
                                else
                                    PlaceTimeInOuts.CalculateTimeINOUT(attendanceRecord, up);
                            }
                            if (employee.Shift.OpenShift == true)
                            {
                                if (up.EntTime.TimeOfDay < PlaceTimeInOuts.OpenShiftThresholdEnd)
                                {
                                    DateTime dt = up.EntDate.Date.AddDays(-1);
                                    using (var ctxx = new TAS2013Entities())
                                    {
                                        CalculateWorkMins.CalculateOpenShiftTimes(ctxx.AttDatas.FirstOrDefault(aa => aa.AttDate == dt && aa.EmpID == up.EmpID), shift);
                                        ctxx.SaveChanges();
                                        ctxx.Dispose();
                                    }
                                }
                            }
                            //If TimeIn and TimeOut are not null, then calculate other Atributes
                            if (attendanceRecord.TimeIn != null && attendanceRecord.TimeOut != null)
                            {
                                if (context.Rosters.Where(r => r.EmpDate == up.EmpDate).Count() > 0)
                                {
                                    CalculateWorkMins.CalculateRosterTimes(attendanceRecord, context.Rosters.FirstOrDefault(r => r.EmpDate == up.EmpDate), shift);
                                    context.SaveChanges();
                                }
                                else
                                {
                                    if (shift.OpenShift == true)
                                    {
                                        if (up.EntTime.TimeOfDay < PlaceTimeInOuts.OpenShiftThresholdEnd)
                                        {
                                            DateTime dt = up.EntDate.Date.AddDays(-1);
                                            using (var ctx2 = new TAS2013Entities())
                                            {
                                                CalculateWorkMins.CalculateOpenShiftTimes(ctx2.AttDatas.FirstOrDefault(aa => aa.AttDate == dt && aa.EmpID == up.EmpID), shift);
                                                ctx2.SaveChanges();
                                                ctx2.Dispose();
                                            }
                                            CalculateWorkMins.CalculateOpenShiftTimes(attendanceRecord, shift);
                                            context.SaveChanges();
                                        }
                                        else
                                        {
                                            //Calculate open shifft time of the same date
                                            CalculateWorkMins.CalculateOpenShiftTimes(attendanceRecord, shift);
                                            context.SaveChanges();
                                        }
                                    }
                                    else
                                    {
                                        CalculateWorkMins.CalculateShiftTimes(attendanceRecord, shift);
                                        context.SaveChanges();
                                    }
                                }
                            }
                            up.Process = true;
                        }
                    }
                    catch (Exception ex)
                    {
                        string _error = "";
                        if (ex.InnerException.Message != null)
                            _error = ex.InnerException.Message;
                        else
                            _error = ex.Message;
                    }
                    context.SaveChanges();
                }
            }
            context.Dispose();
        }
Esempio n. 14
0
        public void BootstrapAttendance(DateTime dateTime, List<Emp> emps)
        {
            using (var ctx = new TAS2013Entities())
            {
                List<Roster> _Roster = new List<Roster>();
                _Roster = context.Rosters.Where(aa => aa.RosterDate == dateTime).ToList();
                List<RosterDetail> _NewRoster = new List<RosterDetail>();
                _NewRoster = context.RosterDetails.Where(aa => aa.RosterDate == dateTime).ToList();
                List<LvData> _LvData = new List<LvData>();
                _LvData = context.LvDatas.Where(aa => aa.AttDate == dateTime).ToList();
                List<LvShort> _lvShort = new List<LvShort>();
                _lvShort = context.LvShorts.Where(aa => aa.DutyDate == dateTime).ToList();
                //List<AttData> _AttData = context.AttDatas.Where(aa => aa.AttDate == dateTime).ToList();
                List<AttData> _attData = new List<AttData>();
                _attData = ctx.AttDatas.Where(aa => aa.AttDate == dateTime).ToList();
                foreach (var emp in emps)
                {
                    string empDate = emp.EmpID + dateTime.ToString("yyMMdd");
                    if (_attData.Where(aa => aa.EmpDate == empDate).Count() > 0)
                    {
                        try
                        {

                            /////////////////////////////////////////////////////
                            //  Mark Everyone Absent while creating Attendance //
                            /////////////////////////////////////////////////////
                            //Set DUTYCODE = D, StatusAB = true, and Remarks = [Absent]
                            AttData att = _attData.First(aa => aa.EmpDate == empDate);
                            //Reset Flags
                            att.TimeIn = null;
                            att.TimeOut = null;
                            att.Tin0 = null;
                            att.Tout0 = null;
                            att.Tin1 = null;
                            att.Tout1 = null;
                            att.Tin2 = null;
                            att.Tout2 = null;
                            att.Tin3 = null;
                            att.Tout3 = null;
                            att.Tin4 = null;
                            att.Tout4 = null;
                            att.Tin5 = null;
                            att.Tout5 = null;
                            att.Tin6 = null;
                            att.Tout6 = null;
                            att.Tin7 = null;
                            att.Tout7 = null;
                            att.Tin8 = null;
                            att.Tout8 = null;
                            att.StatusP = null;
                            att.StatusDO = null;
                            att.StatusEO = null;
                            att.StatusGZ = null;
                            att.StatusGZOT = null;
                            att.StatusHD = null;
                            att.StatusHL = null;
                            att.StatusIN = null;
                            att.StatusLeave = null;
                            att.StatusLI = null;
                            att.StatusLO = null;
                            att.StatusMN = null;
                            att.StatusOD = null;
                            att.StatusOT = null;
                            att.StatusSL = null;
                            att.WorkMin = null;
                            att.LateIn = null;
                            att.LateOut = null;
                            att.OTMin = null;
                            att.EarlyIn = null;
                            att.EarlyOut = null;
                            att.Remarks = null;
                            att.ShifMin = null;
                            att.SLMin = null;

                            att.AttDate = dateTime.Date;
                            att.DutyCode = "D";
                            att.StatusAB = true;
                            att.Remarks = "[Absent]";
                            if (emp.Shift != null)
                                att.DutyTime = emp.Shift.StartTime;
                            else
                                att.DutyTime = new TimeSpan(07, 45, 00);
                            att.EmpID = emp.EmpID;
                            att.EmpNo = emp.EmpNo;
                            att.EmpDate = emp.EmpID + dateTime.ToString("yyMMdd");
                            att.ShifMin = ProcessSupportFunc.CalculateShiftMinutes(emp.Shift, dateTime.DayOfWeek);
                            //////////////////////////
                            //  Check for Rest Day //
                            ////////////////////////
                            //Set DutyCode = R, StatusAB=false, StatusDO = true, and Remarks=[DO]
                            //Check for 1st Day Off of Shift
                            if (emp.Shift.DaysName.Name == ProcessSupportFunc.ReturnDayOfWeek(dateTime.DayOfWeek))
                            {
                                att.DutyCode = "R";
                                att.StatusAB = false;
                                att.StatusDO = true;
                                att.Remarks = "[DO]";
                            }
                            //Check for 2nd Day Off of shift
                            if (emp.Shift.DaysName1.Name == ProcessSupportFunc.ReturnDayOfWeek(dateTime.DayOfWeek))
                            {
                                att.DutyCode = "R";
                                att.StatusAB = false;
                                att.StatusDO = true;
                                att.Remarks = "[DO]";
                            }
                            //////////////////////////
                            //  Check for Roster   //
                            ////////////////////////
                            //If Roster DutyCode is Rest then change the StatusAB and StatusDO
                            foreach (var roster in _Roster.Where(aa => aa.EmpDate == att.EmpDate))
                            {
                                att.DutyCode = roster.DutyCode.Trim();
                                if (att.DutyCode == "R")
                                {
                                    att.StatusAB = false;
                                    att.StatusDO = true;
                                    att.DutyCode = "R";
                                    att.Remarks = "[DO]";
                                }
                                att.ShifMin = roster.WorkMin;
                                att.DutyTime = roster.DutyTime;
                            }

                            ////New Roster
                            string empCdate = "Emp" + emp.EmpID.ToString() + dateTime.ToString("yyMMdd");
                            string sectionCdate = "Section" + emp.SecID.ToString() + dateTime.ToString("yyMMdd");
                            string crewCdate = "Crew" + emp.CrewID.ToString() + dateTime.ToString("yyMMdd");
                            string crewCdateAlternate = "C" + emp.CrewID.ToString() + dateTime.ToString("yyMMdd");
                            string shiftCdate = "Shift" + emp.ShiftID.ToString() + dateTime.ToString("yyMMdd");
                            if (_NewRoster.Where(aa => aa.CriteriaValueDate == empCdate).Count() > 0)
                            {
                                var roster = _NewRoster.FirstOrDefault(aa => aa.CriteriaValueDate == empCdate);
                                if (roster.WorkMin == 0)
                                {
                                    att.StatusAB = false;
                                    att.StatusDO = true;
                                    att.Remarks = "[DO]";
                                    att.DutyCode = "R";
                                    att.ShifMin = 0;
                                }
                                else
                                {
                                    att.ShifMin = roster.WorkMin;
                                    att.DutyCode = "D";
                                    att.DutyTime = roster.DutyTime;
                                }
                            }
                            else if (_NewRoster.Where(aa => aa.CriteriaValueDate == sectionCdate).Count() > 0)
                            {
                                var roster = _NewRoster.FirstOrDefault(aa => aa.CriteriaValueDate == sectionCdate);
                                if (roster.WorkMin == 0)
                                {
                                    att.StatusAB = false;
                                    att.StatusDO = true;
                                    att.Remarks = "[DO]";
                                    att.DutyCode = "R";
                                    att.ShifMin = 0;
                                }
                                else
                                {
                                    att.ShifMin = roster.WorkMin;
                                    att.DutyCode = "D";
                                    att.DutyTime = roster.DutyTime;
                                }
                            }
                            else if (_NewRoster.Where(aa => aa.CriteriaValueDate == crewCdate).Count() > 0)
                            {
                                var roster = _NewRoster.FirstOrDefault(aa => aa.CriteriaValueDate == crewCdate);
                                if (roster.WorkMin == 0)
                                {
                                    att.StatusAB = false;
                                    att.StatusDO = true;
                                    att.Remarks = "[DO]";
                                    att.DutyCode = "R";
                                    att.ShifMin = 0;
                                }
                                else
                                {
                                    att.ShifMin = roster.WorkMin;
                                    att.DutyCode = "D";
                                    att.DutyTime = roster.DutyTime;
                                }
                            }
                            else if (_NewRoster.Where(aa => aa.CriteriaValueDate == shiftCdate).Count() > 0)
                            {
                                var roster = _NewRoster.FirstOrDefault(aa => aa.CriteriaValueDate == shiftCdate);
                                if (roster.WorkMin == 0)
                                {
                                    att.StatusAB = false;
                                    att.StatusDO = true;
                                    att.Remarks = "[DO]";
                                    att.DutyCode = "R";
                                    att.ShifMin = 0;
                                }
                                else
                                {
                                    att.ShifMin = roster.WorkMin;
                                    att.DutyCode = "D";
                                    att.DutyTime = roster.DutyTime;
                                }
                            }
                            else if (_NewRoster.Where(aa => aa.CriteriaValueDate == crewCdate || aa.CriteriaValueDate
                                    == crewCdateAlternate).Count() > 0)
                            {
                                var roster = _NewRoster.FirstOrDefault(aa => aa.CriteriaValueDate == crewCdate || aa.CriteriaValueDate
                                    == crewCdateAlternate);
                                if (roster.WorkMin == 0)
                                {
                                    att.StatusAB = false;
                                    att.StatusDO = true;
                                    att.Remarks = "[DO]";
                                    att.DutyCode = "R";
                                    att.ShifMin = 0;
                                }
                                else
                                {
                                    att.ShifMin = roster.WorkMin;
                                    att.DutyCode = "D";
                                    att.DutyTime = roster.DutyTime;
                                }
                            }
                            //////////////////////////
                            //  Check for GZ Day //
                            ////////////////////////
                            //Set DutyCode = R, StatusAB=false, StatusGZ = true, and Remarks=[GZ]
                            if (emp.Shift.GZDays == true)
                            {
                                if (context.Holidays.Where(hol => hol.HolDate == dateTime).Count() > 0)
                                {
                                    att.DutyCode = "G";
                                    att.StatusAB = false;
                                    att.StatusGZ = true;
                                    att.Remarks = "[GZ]";
                                    att.ShifMin = 0;
                                }
                            }
                            ////////////////////////////
                            //TODO Check for Job Card//
                            //////////////////////////

                            ////////////////////////////
                            //  Check for Short Leave//
                            //////////////////////////
                            foreach (var sLeave in _lvShort.Where(aa => aa.EmpDate == att.EmpDate))
                            {
                                if (_lvShort.Where(lv => lv.EmpDate == att.EmpDate).Count() > 0)
                                {
                                    att.StatusSL = true;
                                    att.StatusAB = null;
                                    att.DutyCode = "L";
                                    att.Remarks = "[Short Leave]";
                                }
                            }

                            //////////////////////////
                            //   Check for Leave   //
                            ////////////////////////
                            //Set DutyCode = R, StatusAB=false, StatusGZ = true, and Remarks=[GZ]
                            foreach (var Leave in _LvData)
                            {
                                var _Leave = _LvData.Where(lv => lv.EmpDate == att.EmpDate && lv.HalfLeave != true);
                                if (_Leave.Count() > 0)
                                {
                                    att.StatusLeave = true;
                                    att.StatusAB = false;
                                    att.DutyCode = "L";
                                    att.StatusDO = false;
                                    if (Leave.LvCode == "A")
                                        att.Remarks = "[CL]";
                                    else if (Leave.LvCode == "B")
                                        att.Remarks = "[AL]";
                                    else if (Leave.LvCode == "C")
                                        att.Remarks = "[SL]";
                                    else
                                        att.Remarks = "[" + _Leave.FirstOrDefault().LvType.LvDesc + "]";
                                }
                                else
                                {
                                    att.StatusLeave = false;
                                }
                            }

                            //////////////////////////
                            //Check for Half Leave///
                            /////////////////////////
                            var _HalfLeave = _LvData.Where(lv => lv.EmpDate == att.EmpDate && lv.HalfLeave == true);
                            if (_HalfLeave.Count() > 0)
                            {
                                att.StatusLeave = true;
                                att.StatusAB = false;
                                att.DutyCode = "L";
                                att.StatusHL = true;
                                att.StatusDO = false;
                                if (_HalfLeave.FirstOrDefault().LvCode == "A")
                                    att.Remarks = "[H-CL]";
                                else if (_HalfLeave.FirstOrDefault().LvCode == "B")
                                    att.Remarks = "[S-AL]";
                                else if (_HalfLeave.FirstOrDefault().LvCode == "C")
                                    att.Remarks = "[H-SL]";
                                else
                                    att.Remarks = "[Half Leave]";
                            }
                            else
                            {
                                att.StatusLeave = false;
                            }
                            ctx.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                              }
                    }
                }
                ctx.Dispose();
            }
        }
Esempio n. 15
0
        public static void CalculateTimeINOUTOpenShift(AttData attendanceRecord, PollData up)
        {
            try
            {
                TAS2013Entities context = new TAS2013Entities();
                switch (up.RdrDuty)
                {
                    case 1: //IN
                        if (attendanceRecord.Tin0 == null)
                        {
                            if (up.EntTime.TimeOfDay < OpenShiftThresholdEnd)
                            {
                                DateTime dt = new DateTime();
                                dt = up.EntDate.Date.AddDays(-1);
                                var _attData = context.AttDatas.FirstOrDefault(aa => aa.AttDate == dt && aa.EmpID == up.EmpID);
                                if (_attData != null)
                                {

                                    if (_attData.TimeIn != null)
                                    {
                                        if (_attData.TimeIn.Value.TimeOfDay > OpenShiftThresholdStart)
                                        {
                                            //attdata - 1 . multipleTimeIn =  up.EntTime

                                        }
                                        else
                                        {
                                            attendanceRecord.Tin0 = up.EntTime;
                                            attendanceRecord.TimeIn = up.EntTime;
                                            attendanceRecord.StatusAB = false;
                                            attendanceRecord.StatusP = true;
                                            attendanceRecord.Remarks = null;
                                            attendanceRecord.StatusIN = true;
                                        }
                                    }
                                    else
                                    {
                                        attendanceRecord.Tin0 = up.EntTime;
                                        attendanceRecord.TimeIn = up.EntTime;
                                        attendanceRecord.StatusAB = false;
                                        attendanceRecord.StatusP = true;
                                        attendanceRecord.Remarks = null;
                                        attendanceRecord.StatusIN = true;
                                    }
                                }
                                else
                                {
                                    attendanceRecord.Tin0 = up.EntTime;
                                    attendanceRecord.TimeIn = up.EntTime;
                                    attendanceRecord.StatusAB = false;
                                    attendanceRecord.StatusP = true;
                                    attendanceRecord.Remarks = null;
                                    attendanceRecord.StatusIN = true;
                                }
                            }
                            else
                            {
                                attendanceRecord.Tin0 = up.EntTime;
                                attendanceRecord.TimeIn = up.EntTime;
                                attendanceRecord.StatusAB = false;
                                attendanceRecord.StatusP = true;
                                attendanceRecord.Remarks = null;
                                attendanceRecord.StatusIN = true;
                            }

                        }
                        else if (attendanceRecord.Tin1 == null)
                        {
                            attendanceRecord.Tin1 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else if (attendanceRecord.Tin2 == null)
                        {
                            attendanceRecord.Tin2 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else if (attendanceRecord.Tin3 == null)
                        {
                            attendanceRecord.Tin3 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else if (attendanceRecord.Tin4 == null)
                        {
                            attendanceRecord.Tin4 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else if (attendanceRecord.Tin5 == null)
                        {
                            attendanceRecord.Tin5 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else if (attendanceRecord.Tin6 == null)
                        {
                            attendanceRecord.Tin6 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else if (attendanceRecord.Tin7 == null)
                        {
                            attendanceRecord.Tin7 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else if (attendanceRecord.Tin8 == null)
                        {
                            attendanceRecord.Tin8 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else if (attendanceRecord.Tin9 == null)
                        {
                            attendanceRecord.Tin9 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else if (attendanceRecord.Tin10 == null)
                        {
                            attendanceRecord.Tin10 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        else
                        {
                            attendanceRecord.Tin11 = up.EntTime;
                            SortingInTime(attendanceRecord);
                        }
                        break;
                    case 5: //OUT
                        if (up.EntTime.TimeOfDay < OpenShiftThresholdEnd)
                        {
                            DateTime dt = up.EntDate.AddDays(-1);
                            if (context.AttDatas.Where(aa => aa.AttDate == dt && aa.EmpID == up.EmpID).Count() > 0)
                            {
                                AttData AttDataOfPreviousDay = context.AttDatas.FirstOrDefault(aa => aa.AttDate == dt && aa.EmpID == up.EmpID);
                                if (AttDataOfPreviousDay.TimeIn != null)
                                {
                                    if (AttDataOfPreviousDay.TimeIn.Value.TimeOfDay > OpenShiftThresholdStart)
                                    {
                                        //AttDate -1, Possible TimeOut = up.entryTime
                                        MarkOUTForOpenShift(up.EntTime, AttDataOfPreviousDay);
                                    }
                                    else
                                    {
                                        // Mark as out of that day
                                        MarkOUTForOpenShift(up.EntTime, attendanceRecord);
                                    }
                                }
                                else
                                    MarkOUTForOpenShift(up.EntTime, attendanceRecord);
                            }
                            else
                            {
                                // Mark as out of that day
                                MarkOUTForOpenShift(up.EntTime, attendanceRecord);
                            }

                        }
                        else
                        {
                            //Mark as out of that day
                            MarkOUTForOpenShift(up.EntTime, attendanceRecord);
                        }
                        //-------------------------------------------------------
                        context.SaveChanges();
                        break;
                }
            }
            catch (Exception ex)
            {
            }
        }
Esempio n. 16
0
        public void GenerateLeaveQuotaAttributes(List<Emp> _emp, List<LvType> _lvType,int AL,int CL,int SL)
        {
            using (var ctx = new TAS2013Entities())
            {
                foreach (var emp in _emp)
                {
                    List<LvConsumed> lvcon = ctx.LvConsumeds.Where(aa => aa.EmpID == emp.EmpID).ToList();
                    foreach (var lvType in _lvType)
                    {
                        string empLvType = emp.EmpID.ToString()+lvType.LvType1;
                        List<LvConsumed> lvConsumedlvType = new List<LvConsumed>();
                        if (lvcon.Where(aa => aa.EmpLvType == empLvType).Count() == 0)
                        {
                            string empType = emp.EmpID.ToString() + lvType.LvType1;
                            LvConsumed lvConsumed = new LvConsumed();
                            lvConsumed.EmpLvType = empType;
                            lvConsumed.EmpID = emp.EmpID;
                            lvConsumed.LeaveType = lvType.LvType1;
                            lvConsumed.JanConsumed = 0;
                            lvConsumed.FebConsumed = 0;
                            lvConsumed.MarchConsumed = 0;
                            lvConsumed.AprConsumed = 0;
                            lvConsumed.MayConsumed = 0;
                            lvConsumed.JuneConsumed = 0;
                            lvConsumed.JulyConsumed = 0;
                            lvConsumed.AugustConsumed = 0;
                            lvConsumed.SepConsumed = 0;
                            lvConsumed.OctConsumed = 0;
                            lvConsumed.NovConsumed = 0;
                            lvConsumed.DecConsumed = 0;
                            lvConsumed.CompanyID = emp.CompanyID;
                            switch (lvType.LvType1)
                            {
                                case "A"://CL
                                    lvConsumed.TotalForYear = CL;
                                    lvConsumed.YearRemaining = CL;
                                    lvConsumed.GrandTotal = CL;
                                    lvConsumed.GrandTotalRemaining = CL;
                                    break;
                                case "B"://AL
                                    lvConsumed.TotalForYear = AL;
                                    lvConsumed.YearRemaining = AL;
                                    lvConsumed.GrandTotal = AL;
                                    lvConsumed.GrandTotalRemaining = AL;
                                    break;
                                case "C"://SL
                                    lvConsumed.TotalForYear = SL;
                                    lvConsumed.YearRemaining = SL;
                                    lvConsumed.GrandTotal = SL;
                                    lvConsumed.GrandTotalRemaining = SL;
                                    break;
                            }
                            ctx.LvConsumeds.Add(lvConsumed);
                            ctx.SaveChanges();
                        }
                    }
                }

                ctx.Dispose();
            }
        }
Esempio n. 17
0
 public void AddShortLeaveToAttData(LvShort lvshort)
 {
     DateTime datetime = new DateTime();
     using (var db = new TAS2013Entities())
     {
         if (db.AttDatas.Where(aa => aa.EmpDate== lvshort.EmpDate).Count() > 0)
         {
             AttData _EmpAttData = new AttData();
             _EmpAttData = db.AttDatas.First(aa => aa.EmpDate == lvshort.EmpDate);
             _EmpAttData.StatusAB = false;
             _EmpAttData.StatusSL = true;
             _EmpAttData.ShifMin = (short)(_EmpAttData.ShifMin - lvshort.THour.Value.TotalMinutes);
             if (_EmpAttData.WorkMin !=null)
             {
                 if (_EmpAttData.WorkMin >0)
                 {
                     if ((_EmpAttData.WorkMin + lvshort.THour.Value.TotalMinutes) >=
                         ProcessSupportFunc.CalculateShiftMinutes(_EmpAttData.Emp.Shift, lvshort.DutyDate.Value.DayOfWeek))
                     {
                         _EmpAttData.StatusLI = false;
                         _EmpAttData.StatusEO = false;
                         _EmpAttData.Remarks= _EmpAttData.Remarks.Replace("[LI]", "");
                         _EmpAttData.Remarks = _EmpAttData.Remarks.Replace("[EO]", "");
                         _EmpAttData.LateIn = 0;
                         _EmpAttData.EarlyOut = 0;
                     }
                 }
             }
             _EmpAttData.Remarks = _EmpAttData.Remarks + "[Short Leave]";
             db.SaveChanges();
         }
     }
 }
 private bool AddJCVisitToAttData(JobCardTime jcTime)
 {
     bool check = false;
     try
     {
         //Normal Duty
         using (var context = new TAS2013Entities())
         {
             string empDate = jcTime.EmpID.ToString() + jcTime.DutyDate.Value.ToString("yyMMdd");
             AttData _attdata = context.AttDatas.FirstOrDefault(aa => aa.EmpDate == empDate);
             if (_attdata != null)
             {
                 _attdata.DutyCode = "D";
                 _attdata.StatusAB = false;
                 _attdata.StatusDO = false;
                 _attdata.StatusLeave = false;
                 _attdata.StatusP = true;
                 _attdata.StatusLI = false;
                 _attdata.StatusEO = false;
                 if (_attdata.ShifMin > 0)
                     _attdata.ShifMin = (short)(_attdata.ShifMin - (short)jcTime.TTime.Value.TotalMinutes);
                 else
                     _attdata.ShifMin = (short)jcTime.TTime.Value.TotalMinutes;
                 _attdata.Remarks = "[ODT-Visit]";
                 _attdata.EarlyIn = null;
                 _attdata.EarlyOut = null;
                 _attdata.LateIn = null;
                 _attdata.LateOut = null;
                 _attdata.OTMin = null;
                 _attdata.StatusEI = null;
                 _attdata.StatusEO = null;
                 _attdata.StatusLI = null;
                 _attdata.StatusLO = null;
                 _attdata.StatusP = true;
             }
             context.SaveChanges();
             if (context.SaveChanges() > 0)
                 check = true;
             context.Dispose();
         }
     }
     catch (Exception ex)
     {
     }
     return check;
 }
Esempio n. 19
0
        public void DeleteLeaveFromAttData(LvApplication lvappl)
        {
            try
            {
                int _EmpID = lvappl.EmpID;
                DateTime Date = lvappl.FromDate;
                while (Date <= lvappl.ToDate)
                {
                    using (var context = new TAS2013Entities())
                    {
                        if (context.AttProcesses.Where(aa => aa.ProcessDate == Date.Date).Count() > 0)
                        {
                            string _empdate = _EmpID.ToString() + Date.Date.ToString("yyMMdd");
                            var _AttData = context.AttDatas.Where(aa => aa.EmpDate == _empdate);
                            if (_AttData != null)
                            {
                                _AttData.FirstOrDefault().StatusLeave = false;
                                _AttData.FirstOrDefault().Remarks.Replace("[SL]", "");
                                _AttData.FirstOrDefault().Remarks.Replace("[CL]", "");
                                _AttData.FirstOrDefault().Remarks.Replace("[AL]", "");
                                if (_AttData.FirstOrDefault().TimeIn == null && _AttData.FirstOrDefault().TimeOut == null && _AttData.FirstOrDefault().DutyCode == "D")
                                {
                                    _AttData.FirstOrDefault().Remarks = "[Absent]";
                                    _AttData.FirstOrDefault().StatusAB = true;
                                }
                                //context.LvDatas.Remove(lvvdata);
                                context.SaveChanges();
                            }
                        }
                    }
                    Date = Date.AddDays(1);
                }
            }
            catch (Exception ex)
            {

            }
        }
 private bool AddDoubleDutyAttData(string _empDate, int _empID, DateTime _Date, int _userID, JobCardApp jcApp)
 {
     bool check = false;
     try
     {
         //Normal Duty
         using (var context = new TAS2013Entities())
         {
             AttData _attdata = context.AttDatas.FirstOrDefault(aa => aa.EmpDate == _empDate);
             JobCard _jcCard = context.JobCards.FirstOrDefault(aa => aa.WorkCardID == jcApp.CardType);
             if (_attdata != null)
             {
                 _attdata.DutyCode = "D";
                 _attdata.StatusAB = false;
                 _attdata.StatusDO = false;
                 _attdata.StatusLeave = false;
                 _attdata.StatusP = true;
                 _attdata.WorkMin = _jcCard.WorkMin;
                 _attdata.Remarks = _attdata.Remarks+"[DD][Manual]";
                 _attdata.StatusMN = true;
                 _attdata.TimeIn = null;
                 _attdata.TimeOut = null;
                 _attdata.EarlyIn = null;
                 _attdata.EarlyOut = null;
                 _attdata.LateIn = null;
                 _attdata.LateOut = null;
                 _attdata.OTMin = null;
                 _attdata.StatusEI = null;
                 _attdata.StatusEO = null;
                 _attdata.StatusLI = null;
                 _attdata.StatusLO = null;
                 _attdata.StatusP = true;
             }
             context.SaveChanges();
             if (context.SaveChanges() > 0)
                 check = true;
             context.Dispose();
         }
     }
     catch (Exception ex)
     {
     }
     return check;
 }
        private bool AddJCODDayToAttData(string _empDate, int _empID, DateTime _Date, int _userID, short _WorkCardID)
        {
            bool check = false;
            try
            {
                //Official Duty
                using (var context = new TAS2013Entities())
                {
                    AttData _attdata = context.AttDatas.FirstOrDefault(aa => aa.EmpDate == _empDate);
                    if (_attdata != null)
                    {
                        _attdata.DutyCode = "O";
                        _attdata.StatusAB = false;
                        _attdata.StatusDO = false;
                        _attdata.StatusLeave = false;
                        _attdata.StatusP = true;
                        _attdata.WorkMin = _attdata.ShifMin;
                        _attdata.Remarks = _attdata.Remarks+"[Official Duty][Manual]";
                        _attdata.TimeIn = null;
                        _attdata.TimeOut = null;
                        _attdata.WorkMin = null;
                        _attdata.EarlyIn = null;
                        _attdata.EarlyOut = null;
                        _attdata.LateIn = null;
                        _attdata.LateOut = null;
                        _attdata.OTMin = null;
                        _attdata.StatusEI = null;
                        _attdata.StatusEO = null;
                        _attdata.StatusLI = null;
                        _attdata.StatusLO = null;
                        _attdata.StatusP = null;
                        _attdata.StatusGZ = false;
                    }
                    context.SaveChanges();
                    if (context.SaveChanges() > 0)
                        check = true;
                    context.Dispose();
                }
            }
            catch (Exception ex)
            {

            }
            return check;
        }
 //Add Job Card To Job Card Data
 private void AddJobCardAppToJobCardData()
 {
     using (var ctx = new TAS2013Entities())
     {
         List<JobCardApp> _jobCardApp = new List<JobCardApp>();
         _jobCardApp = ctx.JobCardApps.Where(aa => aa.Status == false).ToList();
         List<Emp> _Emp = new List<Emp>();
         foreach (var jcApp in _jobCardApp)
         {
             jcApp.Status = true;
             switch (jcApp.JobCardCriteria)
             {
                 case "S":
                     short _shiftID = Convert.ToByte(jcApp.CriteriaData);
                     _Emp = ctx.Emps.Where(aa => aa.ShiftID == _shiftID).ToList();
                     break;
                 case "C":
                     short _crewID = Convert.ToByte(jcApp.CriteriaData);
                     _Emp = ctx.Emps.Where(aa => aa.CrewID == _crewID).ToList();
                     break;
                 case "T":
                     short _secID = Convert.ToByte(jcApp.CriteriaData);
                     _Emp = ctx.Emps.Where(aa => aa.SecID == _secID).ToList();
                     break;
                 case "E":
                     int _EmpID = (int)jcApp.CriteriaData;
                     _Emp = ctx.Emps.Where(aa => aa.EmpID == _EmpID).ToList();
                     break;
             }
             foreach (var selectedEmp in _Emp)
             {
                 AddJobCardData(selectedEmp, jcApp);
             }
         }
         ctx.SaveChanges();
         ctx.Dispose();
     }
 }
Esempio n. 23
0
        public ActionResult Create([Bind(Include="EmpID,EmpNo,EmpName,DesigID,JobID,Gender,ShiftID,LocID,TypeID,GradeID,SecID,CardNo,FpID,PinCode,NicNo,FatherName,BloodGroup,BirthDate,MarStatus,JoinDate,ValidDate,IssueDate,ResignDate,HomeAdd,ProcessAtt,ProcessIn,Status,PhoneNo,Remarks,Email,CellNo,CrewID,FlagFP,FlagFace,FlagCard,EmpImageID,HasOT")] Emp emp)
        {
            string empNo = "";
            int cardno = Convert.ToInt32(emp.CardNo);
            emp.CardNo = cardno.ToString("0000000000");
            if (string.IsNullOrEmpty(emp.EmpNo))
                ModelState.AddModelError("EmpNo", "Emp No is required!");
            if (string.IsNullOrEmpty(emp.EmpName))
                ModelState.AddModelError("EmpName", "Name is required!");
            if (emp.EmpNo != null)
            {
                if (emp.EmpNo.Length > 15)
                    ModelState.AddModelError("EmpNo", "String length exceeds!");
                if (db.Emps.Where(aa => aa.EmpNo.ToUpper() == emp.EmpNo.ToUpper()).Count() > 0 )
                    ModelState.AddModelError("EmpNo", "Emp No should be unique!");
            }
            if (emp.CardNo != null)
            {
                if (db.Emps.Where(aa => aa.CardNo == emp.CardNo).Count() > 0)
                    if(emp.CardNo!="0000000000")
                        ModelState.AddModelError("CardNo", "Card No should be unique!");
                if (emp.CardNo.Length > 10)
                    ModelState.AddModelError("CardNo", "String length exceeds!");
            }
            if (emp.EmpName != null)
            {
                if (emp.EmpName.Length > 40)
                    ModelState.AddModelError("EmpName", "String length exceeds!");
            }
            if(emp.SecID== null)
                ModelState.AddModelError("SecID", "Please Specify section!");
            if (emp.TypeID == null)
                ModelState.AddModelError("TypeID", "Please Specify Type!");
            if (emp.GradeID == null)
                ModelState.AddModelError("GradeID", "Please Specify Grade!");

            if (ModelState.IsValid)
            {
                emp.ProcessAtt = true;
                emp.ProcessIn = true;
                emp.EmpNo = emp.EmpNo.ToUpper();
                empNo = emp.EmpNo;
                emp.FpID = emp.EmpID;
                db.Emps.Add(emp);
                db.SaveChanges();
                int _userID = Convert.ToInt32(Session["LogedUserID"].ToString());
                HelperClass.MyHelper.SaveAuditLog(_userID, (byte)MyEnums.FormName.Employee, (byte)MyEnums.Operation.Add, DateTime.Now);
                HttpPostedFileBase file = Request.Files["ImageData"];
                if (file != null)
                {
                    ImageConversion _Image = new ImageConversion();
                    int imageID = _Image.UploadImageInDataBase(file, emp.EmpNo);
                    if (imageID!=0)
                    {
                        using (var ctx = new TAS2013Entities())
                        {
                            var _emp = ctx.Emps.Where(aa => aa.EmpNo == empNo).ToList();
                            if (_emp.Count > 0)
                            {
                                _emp.FirstOrDefault().EmpImageID = imageID;
                                ctx.SaveChanges();
                                ctx.Dispose();
                            }
                        }
                    }
                    else
                    {

                    }
                }
                return RedirectToAction("Index");
            }
            var _wings = new List<Division>();
            using (TAS2013Entities context = new TAS2013Entities())
            {
                _wings = context.Divisions.ToList();
            ViewBag.Wing = new SelectList(_wings.OrderBy(s=>s.DivisionName), "WingID", "WingName");
            User LoggedInUser = Session["LoggedUser"] as User;
            ViewBag.CrewID = new SelectList(db.Crews.OrderBy(s=>s.CrewName), "CrewID", "CrewName");
            ViewBag.DesigID = new SelectList(db.Designations.OrderBy(s=>s.DesignationName), "DesignationID", "DesignationName");
            ViewBag.GradeID = new SelectList(db.Grades.OrderBy(s=>s.GradeName), "GradeID", "GradeName");
            ViewBag.JobID = new SelectList(db.JobTitles.OrderBy(s=>s.JobTitle1), "JobID", "JobTitle1");
            ViewBag.LocID = new SelectList(db.Locations.OrderBy(s=>s.LocName), "LocID", "LocName");
            ViewBag.SecID = new SelectList(db.Sections.OrderBy(s=>s.SectionName), "SectionID", "SectionName");
            ViewBag.ShiftID = new SelectList(db.Shifts.OrderBy(s=>s.ShiftName), "ShiftID", "ShiftName");
            ViewBag.TypeID = new SelectList(db.EmpTypes.OrderBy(s=>s.TypeName), "TypeID", "TypeName");
            ViewBag.CatID = new SelectList(db.Categories.OrderBy(s=>s.CatName), "CatID", "CatName");
            ViewBag.DeptID = new SelectList(db.Departments.OrderBy(s=>s.DeptName), "DeptID", "DeptName");
            }
            return View(emp);
        }
 //Add Job Card To Job Card Data
 private void AddJobCardAppToJobCardData()
 {
     using (var ctx = new TAS2013Entities())
     {
         List<JobCardApp> _jobCardApp = new List<JobCardApp>();
         _jobCardApp = ctx.JobCardApps.Where(aa => aa.Status == false).ToList();
         User LoggedInUser = Session["LoggedUser"] as User;
         List<Emp> _Emp = new List<Emp>();
         foreach (var jcApp in _jobCardApp)
         {
             jcApp.Status = true;
             switch (jcApp.JobCardCriteria)
             {
                 case "S":
                     short _shiftID = Convert.ToByte(jcApp.CriteriaData);
                     _Emp = ctx.Emps.Where(aa => aa.ShiftID == _shiftID && aa.CompanyID == LoggedInUser.CompanyID).ToList();
                     break;
                 case "C":
                     short _crewID = Convert.ToByte(jcApp.CriteriaData);
                     _Emp = ctx.Emps.Where(aa => aa.CrewID == _crewID && aa.CompanyID == LoggedInUser.CompanyID).ToList();
                     break;
                 case "T":
                     short _secID = Convert.ToByte(jcApp.CriteriaData);
                     _Emp = ctx.Emps.Where(aa => aa.SecID == _secID && aa.CompanyID == LoggedInUser.CompanyID).ToList();
                     break;
                 case "E":
                     int _EmpID = (int)jcApp.CriteriaData;
                     _Emp = ctx.Emps.Where(aa => aa.EmpID == _EmpID).ToList();
                     break;
             }
             foreach (var selectedEmp in _Emp)
             {
                 AddJobCardData(selectedEmp, (short)jcApp.CardType, jcApp.DateStarted.Value, jcApp.DateEnded.Value);
             }
         }
         ctx.SaveChanges();
         ctx.Dispose();
     }
 }