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); }
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); }
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); }
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); }