Exemple #1
0
        public override void FillSelectedRecordInContent(object RecordToFill)
        {
            LeaveApplicationEditListModel EditingRecord = (LeaveApplicationEditListModel)RecordToFill;
            tblLeaveApplication           SaveModel     = DALObject.FindSaveModelByPrimeKey(EditingRecord.LeaveApplicationID);

            if (SaveModel == null)
            {
                return;
            }

            deLeaveApplicationDate.DateTime          = SaveModel.LeaveApplicationDate;
            lookupLeaveApplicationNoPrefix.EditValue = SaveModel.LeaveApplicationNoPrefixID;
            txtLeaveApplicationNo.EditValue          = SaveModel.LeaveApplicationNo;
            lookupEmployee.EditValue  = SaveModel.EmployeeID;
            lookupLeaveType.EditValue = SaveModel.LeaveTypeID;
            deDateFrom.EditValue      = SaveModel.FromDate;
            deDateTo.EditValue        = SaveModel.ToDate;

            LeaveDays    = SaveModel.NofLeaves;
            LeaveBalance = SaveModel.NofLeaves + LeaveTypeDALObj.GetLeaveBalance(SaveModel.EmployeeID, SaveModel.LeaveTypeID, deDateFrom.DateTime);

            txtRemarks.Text  = SaveModel.Remarks;
            txtDocument.Text = SaveModel.ApplicationDocumentFileName;


            LoadDayDetail();
            var ListDayDetail = (IEnumerable <LeaveApplicationDayDetail>)leaveApplicationDayDetailBindingSource.List;

            foreach (var date in SaveModel.tblLeaveApplicationDayDetails)
            {
                var LeaveDate = ListDayDetail.FirstOrDefault(r => r.LeaveDate == date.LeaveDate);
                if (LeaveDate != null)
                {
                    LeaveDate.LeaveDayOffType = (eLeaveDayOffType)date.LeaveType;
                }
            }

            AbsentDays = ((IEnumerable <LeaveApplicationDayDetail>)leaveApplicationDayDetailBindingSource.List).Sum(r => r.LeaveDayOffType == eLeaveDayOffType.Absent ? 1M : 0);

            base.FillSelectedRecordInContent(RecordToFill);
        }
Exemple #2
0
        public SavingResult DeleteRecord(long DeleteID)
        {
            SavingResult res = new SavingResult();

            using (dbVisionEntities db = new dbVisionEntities())
            {
                if (DeleteID != 0)
                {
                    tblLeaveApplication RecordToDelete = db.tblLeaveApplications.FirstOrDefault(r => r.LeaveApplicationID == DeleteID);

                    if (RecordToDelete == null)
                    {
                        res.ValidationError = "Selected record not found. May be it has been deleted by another user over network.";
                        res.ExecutionResult = eExecutionResult.ValidationError;
                        return(res);
                    }
                    else
                    {
                        //db.tblLeaveApplications.Remove(RecordToDelete);
                        byte RecordState_Deleted = (byte)eRecordState.Deleted;
                        RecordToDelete.rstate = RecordState_Deleted;
                        db.tblLeaveApplications.Attach(RecordToDelete);
                        db.Entry(RecordToDelete).State = System.Data.Entity.EntityState.Modified;
                    }

                    try
                    {
                        db.SaveChanges();
                        res.ExecutionResult = eExecutionResult.CommitedSucessfuly;
                    }
                    catch (Exception ex)
                    {
                        CommonFunctions.GetFinalError(res, ex);
                    }
                }
            }
            return(res);
        }
Exemple #3
0
        public override void SaveRecord(SavingParemeter Paras)
        {
            DAL.tblLeaveApplication SaveModel = null;
            if (Paras.SavingInterface == SavingParemeter.eSavingInterface.AddNew || EditRecordDataSource == null)
            {
                SaveModel = new tblLeaveApplication();
            }
            else
            {
                SaveModel = DALObject.FindSaveModelByPrimeKey(((LeaveApplicationEditListModel)EditRecordDataSource).LeaveApplicationID);

                if (SaveModel == null)
                {
                    Paras.SavingResult = new SavingResult();
                    Paras.SavingResult.ExecutionResult = eExecutionResult.ValidationError;
                    Paras.SavingResult.ValidationError = "Can not edit. Selected record not found, it may be deleted by another user.";
                    return;
                }
            }

            SaveModel.LeaveApplicationDate       = deLeaveApplicationDate.DateTime.Date;
            SaveModel.LeaveApplicationNoPrefixID = (int)lookupLeaveApplicationNoPrefix.EditValue;
            SaveModel.LeaveApplicationNo         = Model.CommonFunctions.ParseInt(txtLeaveApplicationNo.Text);
            SaveModel.EmployeeID  = (int)lookupEmployee.EditValue;
            SaveModel.LeaveTypeID = (int)lookupLeaveType.EditValue;
            SaveModel.FromDate    = deDateFrom.DateTime.Date;
            SaveModel.ToDate      = deDateTo.DateTime.Date;
            SaveModel.NofLeaves   = Model.CommonFunctions.ParseDecimal(txtNofDays.Text);
            SaveModel.Remarks     = txtRemarks.Text;

            // if new record or document has been changed then update it.
            if (Paras.SavingInterface == SavingParemeter.eSavingInterface.AddNew || SaveModel.ApplicationDocumentFileName != txtDocument.Text)
            {
                SaveModel.ApplicationDocumentFileName = null;
                if (!String.IsNullOrWhiteSpace(txtDocument.Text) && System.IO.File.Exists(txtDocument.Text))
                {
                    string DocumentNewPath     = Path.GetFullPath(Path.Combine(CommonProperties.LoginInfo.SoftwareSettings.DocumentLocation_LeaveApplicationDocument));
                    string DocumentNewFileName = Path.Combine(DocumentNewPath,
                                                              "LAD" + CommonProperties.LoginInfo.LoggedInCompany.CompanyID.ToString("000") + CommonProperties.LoginInfo.LoggedInFinPeriod.FinPeriodID.ToString("000") +
                                                              SaveModel.LeaveApplicationNo.ToString("0000000000") + Path.GetExtension(txtDocument.Text));
                    try
                    {
                        if (!Directory.Exists(DocumentNewPath))
                        {
                            Directory.CreateDirectory(DocumentNewPath);
                        }
                        // Allow to overwrite the document only if in edit mode
                        File.Copy(txtDocument.Text, DocumentNewFileName, (SaveModel.LeaveApplicationID != 0));
                    }
                    catch (System.IO.IOException ex)
                    {
                        SavingResult res = new SavingResult();
                        DAL.CommonFunctions.GetFinalError(res, ex);
                        Paras.SavingResult = res;
                        return;
                    }
                    SaveModel.ApplicationDocumentFileName = DocumentNewFileName;
                }
            }

            Paras.SavingResult = DALObject.SaveNewRecord(SaveModel,
                                                         ((IEnumerable <LeaveApplicationDayDetail>)leaveApplicationDayDetailBindingSource.List)
                                                         .Where(r => r.LeaveDayOffType == eLeaveDayOffType.FirstHalf ||
                                                                r.LeaveDayOffType == eLeaveDayOffType.SecondHalf ||
                                                                r.LeaveDayOffType == eLeaveDayOffType.FullDay ||
                                                                r.LeaveDayOffType == eLeaveDayOffType.Absent).ToList());

            base.SaveRecord(Paras);
        }
Exemple #4
0
        public SavingResult SaveNewRecord(tblLeaveApplication SaveModel, List <LeaveApplicationDayDetail> DayDetail)
        {
            SavingResult res = new SavingResult();

            //-- Perform Validation
            //res.ExecutionResult = eExecutionResult.ValidationError;
            //res.ValidationError = "Validation error message";
            //return res;

            //--
            using (dbVisionEntities db = new dbVisionEntities())
            {
                //tblLeaveApplication SaveModel;
                if (SaveModel.LeaveApplicationNo == 0)
                {
                    res.ValidationError = "Please enter Leave Application No..";
                    res.ExecutionResult = eExecutionResult.ValidationError;
                    return(res);
                }
                else if (IsDuplicateRecord(SaveModel.LeaveApplicationNoPrefixID, SaveModel.LeaveApplicationNo, SaveModel.LeaveApplicationID, db))
                {
                    res.ValidationError = "Can not accept duplicate value. The Leave Application No. is already exists.";
                    res.ExecutionResult = eExecutionResult.ValidationError;
                    return(res);
                }

                if (SaveModel.LeaveApplicationID == 0) // New Entry
                {
                    SaveModel.rcuid       = Model.CommonProperties.LoginInfo.LoggedinUser.UserID;
                    SaveModel.rcdt        = DateTime.Now;
                    SaveModel.CompanyID   = Model.CommonProperties.LoginInfo.LoggedInCompany.CompanyID;
                    SaveModel.FinPeriodID = Model.CommonProperties.LoginInfo.LoggedInFinPeriod.FinPeriodID;
                    db.tblLeaveApplications.Add(SaveModel);
                }
                else
                {
                    SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID;
                    SaveModel.redt  = DateTime.Now;
                    db.tblLeaveApplications.Attach(SaveModel);
                    db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified;

                    db.tblLeaveApplicationDayDetails.RemoveRange(SaveModel.tblLeaveApplicationDayDetails);
                }

                db.tblLeaveApplicationDayDetails.AddRange(DayDetail.Select(r => new tblLeaveApplicationDayDetail()
                {
                    tblLeaveApplication = SaveModel,
                    LeaveDate           = r.LeaveDate,
                    LeaveType           = (byte)r.LeaveDayOffType,
                }));

                //--
                try
                {
                    db.SaveChanges();
                    res.PrimeKeyValue   = SaveModel.LeaveApplicationID;
                    res.ExecutionResult = eExecutionResult.CommitedSucessfuly;
                }
                catch (Exception ex)
                {
                    CommonFunctions.GetFinalError(res, ex);
                }
            }
            return(res);
        }