public tblSettingsL1 SaveSettingL1(string SettingName, object SettingValue, int CompanyID, dbVisionEntities db, SavingResult res) { tblSettingMasterL1 SaveModelMaster = db.tblSettingMasterL1.FirstOrDefault(r => r.SettingName == SettingName); if (SaveModelMaster == null) { res.ValidationError = "Setting not found."; res.ExecutionResult = eExecutionResult.ValidationError; return(null); } tblSettingsL1 SaveModel = db.tblSettingsL1.FirstOrDefault(r => r.SettingName == SettingName && r.CompanyID == CompanyID); if (SaveModel == null) // New Entry { SaveModel = new tblSettingsL1() { SettingName = SaveModelMaster.SettingName, CompanyID = CompanyID }; SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; db.tblSettingsL1.Add(SaveModel); } else { SaveModel.redt = DateTime.Now; db.tblSettingsL1.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } switch ((eSettingValueType)SaveModelMaster.SettingValueType) { case eSettingValueType.Varchar50: SaveModel.SettingValueVC = (string)SettingValue; break; case eSettingValueType.Int: /// specially for enum type, casted to int then nullable int SaveModel.SettingValueInt = (SettingValue != null ? (int?)((int)SettingValue) : null); break; case eSettingValueType.Long: SaveModel.SettingValueLong = (long?)SettingValue; break; case eSettingValueType.DateTime: SaveModel.SettingValueDateTime = (DateTime?)SettingValue; break; case eSettingValueType.Boolean: SaveModel.SettingValueBoolean = (bool?)SettingValue; break; case eSettingValueType.Decimal: SaveModel.SettingValueDecimal = (decimal?)SettingValue; break; } return(SaveModel); }
public SavingResult UpdateTACode(int EmployeeID, int TACode) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { var SaveModel = db.tblEmployees.FirstOrDefault(r => r.EmployeeID == EmployeeID); if (SaveModel == null) { res.ExecutionResult = eExecutionResult.ValidationError; res.ValidationError = "Employee not found."; return(res); } SaveModel.TACode = TACode; db.tblEmployees.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } //-- return(res); }
public SavingResult SaveNewRecord(tblPayrollMonth SaveModel) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { SaveModel.rcuid = (Model.CommonProperties.LoginInfo.LoggedinUser != null ? (int?)Model.CommonProperties.LoginInfo.LoggedinUser.UserID : null); SaveModel.rcdt = DateTime.Now; db.tblPayrollMonths.Add(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Added; //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.PayrollMonthID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); return(res); } } return(res); }
public SavingResult SaveLogoFileName(int CompanyID, string FileName) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { var SaveModel = db.tblCompanies.Find(CompanyID); if (SaveModel == null) { res.ExecutionResult = eExecutionResult.ValidationError; res.ValidationError = "Selected company not found. It may be deleted over network. Please check again or contact your administrator."; return(res); } SaveModel.CompanyLogoFileName = FileName; db.tblCompanies.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.CompanyID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } return(res); } }
public SavingResult ChangePassworD(int UserID, string NewPassword) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { var user = db.tblUsers.Find(UserID); if (user == null) { return(null); } user.Password = NewPassword; db.tblUsers.Attach(user); db.Entry(user).State = System.Data.Entity.EntityState.Modified; //-- try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveMinimumWageCategoryRate(List <MinimumWageCategoryRateChangeListModel> Rates, DateTime?WEFDate) { DateTime? PreviousDate = null; SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { if (WEFDate == null) { db.tblMinimumWageRates.RemoveRange( from r in db.tblMinimumWageRates join mc in db.tblMinimumWageCategories on r.MinimumWageCategoryID equals mc.MinimumWageCategoryID where mc.CompanyID == CommonProperties.LoginInfo.LoggedInCompany.CompanyID select r); } else { PreviousDate = WEFDate.Value.AddDays(-1); foreach (var rate in Rates) { var PreviousRates = db.tblMinimumWageRates.Where(r => r.MinimumWageCategoryID == rate.MinimumWageCategoryID && (r.WEDateTo == null || r.WEDateTo >= WEFDate)); foreach (var prate in PreviousRates) { prate.WEDateTo = PreviousDate; db.tblMinimumWageRates.Attach(prate); db.Entry(prate).State = System.Data.Entity.EntityState.Modified; } db.tblMinimumWageRates.RemoveRange(db.tblMinimumWageRates.Where(r => r.MinimumWageCategoryID == rate.MinimumWageCategoryID && r.WEDateFrom >= WEFDate)); } } db.tblMinimumWageRates.AddRange(Rates.Where(r => r.RuralRate != 0 || r.UrbanRate != 0).Select(r => new tblMinimumWageRate() { MinimumWageCategoryID = r.MinimumWageCategoryID, MinimumWageCategoryRuralRate = r.RuralRate, MinimumWageCategoryUrbanRate = r.UrbanRate, WEDateFrom = WEFDate, rcdt = DateTime.Now, rcuid = CommonProperties.LoginInfo.LoggedinUser.UserID, })); try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(tblEmployeeDepartment SaveModel) { SavingResult res = new SavingResult(); //-- Perform Validation //res.ExecutionResult = eExecutionResult.ValidationError; //res.ValidationError = "Validation error message"; //return res; //-- using (dbVisionEntities db = new dbVisionEntities()) { //tblEmployeeDepartment SaveModel; if (String.IsNullOrWhiteSpace(SaveModel.EmployeeDepartmentName)) { res.ValidationError = "Can not accept blank value. Please enter Employee Department Name."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.EmployeeDepartmentName, SaveModel.EmployeeDepartmentID, db)) { res.ValidationError = "Can not accept duplicate value. The Employee Department Name is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (SaveModel.EmployeeDepartmentID == 0) // New Entry { SaveModel.rstate = (byte)eRecordState.Active; SaveModel.CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID; SaveModel.rcuid = CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; db.tblEmployeeDepartments.Add(SaveModel); } else { SaveModel.reuid = CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblEmployeeDepartments.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } //-- //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.EmployeeDepartmentID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(tblLeaveEncashment SaveModel) { SavingResult res = new SavingResult(); //-- Perform Validation //res.ExecutionResult = eExecutionResult.ValidationError; //res.ValidationError = "Validation error message"; //return res; //-- using (dbVisionEntities db = new dbVisionEntities()) { //tblLeaveEncashment SaveModel; if (SaveModel.LeaveEncashmentNo == 0) { res.ValidationError = "Please enter Leave Application No.."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.LeaveEncashmentNoPrefixID, SaveModel.LeaveEncashmentNo, SaveModel.LeaveEncashmentID, db)) { res.ValidationError = "Can not accept duplicate value. The Leave Application No. is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (SaveModel.LeaveEncashmentID == 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.tblLeaveEncashments.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblLeaveEncashments.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.LeaveEncashmentID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(tblCity SaveModel) { SavingResult res = new SavingResult(); //-- Perform Validation //res.ExecutionResult = eExecutionResult.ValidationError; //res.ValidationError = "Validation error message"; //return res; //-- using (dbVisionEntities db = new dbVisionEntities()) { //tblCity SaveModel; if (SaveModel.CityName == "") { res.ValidationError = "Can not accept blank value. Please enter City Name."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.CityName, SaveModel.CityID, SaveModel.StateID, db)) { res.ValidationError = "Can not accept duplicate value. The City Name is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } SaveModel.CountryID = db.tblStates.FirstOrDefault(r => r.StateID == SaveModel.StateID).CountryID; if (SaveModel.CityID == 0) // New Entry { SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; db.tblCities.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblCities.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.CityID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(tblUser SaveModel) { SavingResult res = new SavingResult(); //-- using (dbVisionEntities db = new dbVisionEntities()) { if (SaveModel.UserName == "") { res.ValidationError = "Can not accept blank value. The User Name is required."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.UserName, SaveModel.UserID, db)) { res.ValidationError = "Can not accept duplicate value. The user Name is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (SaveModel.SuperAdmin) { res.ValidationError = "Can not accept add/edit a super user."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (SaveModel.UserID == 0) // New Entry { SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; db.tblUsers.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblUsers.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.UserID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public tblSettingL0 SaveSettingL0(string SettingName, object SettingValue, dbVisionEntities db, SavingResult res) { tblSettingL0 SaveModel = db.tblSettingL0.FirstOrDefault(r => r.SettingName == SettingName); if (SaveModel == null) // New Entry { SaveModel = new tblSettingL0() { SettingName = SaveModel.SettingName, }; SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; db.tblSettingL0.Add(SaveModel); } else { SaveModel.redt = DateTime.Now; db.tblSettingL0.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } switch ((eSettingValueType)SaveModel.SettingValueType) { case eSettingValueType.Varchar50: SaveModel.SettingValueVC = (string)SettingValue; break; case eSettingValueType.Int: SaveModel.SettingValueInt = (int?)SettingValue; break; case eSettingValueType.Long: SaveModel.SettingValueLong = (long?)SettingValue; break; case eSettingValueType.DateTime: SaveModel.SettingValueDateTime = (DateTime?)SettingValue; break; case eSettingValueType.Boolean: SaveModel.SettingValueBoolean = (bool?)SettingValue; break; case eSettingValueType.Decimal: SaveModel.SettingValueDecimal = (decimal?)SettingValue; break; } return(SaveModel); }
public SavingResult SaveFormat(int FormatID, string FormatName, string GridFormat) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { tblEmployeeListFormat SaveModel = null; if (FormatID > 0) { SaveModel = db.tblEmployeeListFormats.Find(FormatID); } if (SaveModel == null) { SaveModel = new tblEmployeeListFormat() { rcdt = DateTime.Now, rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID, }; db.tblEmployeeListFormats.Add(SaveModel); } else { SaveModel.redt = DateTime.Now; SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; db.tblEmployeeListFormats.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } SaveModel.EmployeeListFormatName = FormatName; SaveModel.GridFromat = GridFormat; try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; res.PrimeKeyValue = SaveModel.EmployeeListFormatID; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveLayout(eGridControlIDs GridID, string Layout, string PrintOptions, string PageSettings, long CompanyID, long FinPerID) { SavingResult res = new SavingResult(); //-- using (dbVisionEntities db = new dbVisionEntities()) { int intGrid = (int)GridID; tblGridLayout SaveModel = db.tblGridLayouts.FirstOrDefault(r => r.GridID == intGrid && r.CompanyID == CompanyID && r.FinPerID == FinPerID); if (SaveModel == null) // New Entry { SaveModel = new tblGridLayout(); SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; db.tblGridLayouts.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblGridLayouts.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } SaveModel.GridID = (int)GridID; SaveModel.Descr = GridID.ToString(); SaveModel.Layout = Layout; SaveModel.PrintOptions = PrintOptions; SaveModel.PageSettings = PageSettings; SaveModel.CompanyID = Model.CommonProperties.LoginInfo.LoggedInCompany.CompanyID; SaveModel.FinPerID = Model.CommonProperties.LoginInfo.LoggedInFinPeriod.FinPeriodID; try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.GridLayoutID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult Termination(int EmployeeID, eTerminationType Type, DateTime TerminationDate, string Reason) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { var SaveModel = db.tblEmployees.Find(EmployeeID); if (SaveModel == null) { res.ValidationError = "Selected employee not found."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } tblEmployeeServiceDetail ServiceSaveModel = null; if (SaveModel.EmployeeLastServiceDetailID != null) { ServiceSaveModel = db.tblEmployeeServiceDetails.Find(SaveModel.EmployeeLastServiceDetailID); } if (ServiceSaveModel == null) { res.ValidationError = "No service detail found."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } ServiceSaveModel.EmployeementStatus = (byte)(Type == eTerminationType.Resignation ? eEmployementStatus.Resigned : eEmployementStatus.Terminated); ServiceSaveModel.TerminationTypeID = (byte)Type; ServiceSaveModel.TerminationDate = TerminationDate; ServiceSaveModel.TerminationReason = Reason; db.tblEmployeeServiceDetails.Attach(ServiceSaveModel); db.Entry(ServiceSaveModel).State = System.Data.Entity.EntityState.Modified; try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(tblEmployeeSalaryIncrement SaveModel) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { if (SaveModel.EmployeeSalaryIncrementID == 0) { SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; SaveModel.CompanyID = Model.CommonProperties.LoginInfo.LoggedInCompany.CompanyID; SaveModel.FinPeriodID = CommonProperties.LoginInfo.LoggedInFinPeriod.FinPeriodID; db.tblEmployeeSalaryIncrements.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblEmployeeSalaryIncrements.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } var tblService = db.tblEmployeeServiceDetails.Where(p => p.EmployeeID == SaveModel.EmployeeID).FirstOrDefault(); if (tblService != null) { tblService.BasicSalary = SaveModel.NewBasicSalary; } try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.EmployeeSalaryIncrementID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult DeleteRecord(long DeleteID) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { if (DeleteID != 0) { tblUserGroup RecordToDelete = db.tblUserGroups.FirstOrDefault(r => r.UserGroupID == 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.tblUserGroupPerimissions.RemoveRange(db.tblUserGroupPerimissions.Where(r => r.UserGroupID == RecordToDelete.UserGroupID)); //db.tblUserGroups.Remove(RecordToDelete); byte RecordState_Deleted = (byte)eRecordState.Deleted; RecordToDelete.rstate = RecordState_Deleted; db.tblUserGroups.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 SavingResult UnAuthorize(long ID) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { var rec = db.tblEmployeeSalaryIncrements.FirstOrDefault(r => r.EmployeeSalaryIncrementID == ID); rec.rState = (byte)eRecordState.Active; db.tblEmployeeSalaryIncrements.Attach(rec); db.Entry(rec).State = System.Data.Entity.EntityState.Modified; try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult DeleteRecord(int DeleteID) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { if (DeleteID != 0) { tblEmployeeDesignation RecordToDelete = db.tblEmployeeDesignations.Find(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 { byte RecordState_Deleted = (byte)eRecordState.Deleted; //db.tblEmployeeDesignations.Remove(RecordToDelete); RecordToDelete.rstate = RecordState_Deleted; db.tblEmployeeDesignations.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 SavingResult SaveNewRecord(tblTAApproval SaveModel, dbVisionEntities db) { SavingResult res = new SavingResult(); //tblTAApproval SaveModel; if (SaveModel.TAApprovalNo == 0) { res.ValidationError = "Please enter T & A Approval No."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.TAApprovalNoPrefixID, SaveModel.TAApprovalNo, SaveModel.TAApprovalID, db)) { res.ValidationError = "Can not accept duplicate value. The T & A Approval No. is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (SaveModel.TAApprovalID == 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.tblTAApprovals.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblTAApprovals.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } return(res); }
public SavingResult Authorize(int ID) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { var rec = db.tblEmployeeDesignations.Find(ID); rec.rstate = (byte)eRecordState.Authorized; db.tblEmployeeDesignations.Attach(rec); db.Entry(rec).State = System.Data.Entity.EntityState.Modified; //-- try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult Authorize(long ID) { SavingResult res = new SavingResult(); using (dbVisionEntities db = new dbVisionEntities()) { var rec = db.tblTAApprovalNoPrefixes.FirstOrDefault(r => r.TAApprovalNoPrefixID == ID); rec.rstate = (byte)eRecordState.Authorized; db.tblTAApprovalNoPrefixes.Attach(rec); db.Entry(rec).State = System.Data.Entity.EntityState.Modified; //-- try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(PAYEReliefeViewModel ViewModel, DateTime WEDate) { SavingResult res = new SavingResult(); //-- Perform Validation //res.ExecutionResult = eExecutionResult.ValidationError; //res.ValidationError = "Validation error message"; //return res; tblPAYERelief SaveModel = null; //-- using (dbVisionEntities db = new dbVisionEntities()) { //tblPAYERelief SaveModel; if (String.IsNullOrWhiteSpace(ViewModel.PAYEReliefName)) { res.ValidationError = "Can not accept blank value. Please enter PAYE Relief Name."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(ViewModel.PAYEReliefName, ViewModel.PAYEReliefID, db)) { res.ValidationError = "Can not accept duplicate value. The PAYE Relief Name is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (ViewModel.PAYEReliefID != 0) { SaveModel = db.tblPAYEReliefs.Find(ViewModel.PAYEReliefID); } tblPAYEReliefRate RateSaveModel = null; if (SaveModel == null) // New Entry { SaveModel = new tblPAYERelief(); SaveModel.CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID; SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; db.tblPAYEReliefs.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblPAYEReliefs.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; db.tblPAYEReliefRates.RemoveRange(db.tblPAYEReliefRates.Where(r => r.PAYEReliefID == SaveModel.PAYEReliefID && (WEDate == null || r.WEDate >= WEDate))); } SaveModel.PAYEReliefName = ViewModel.PAYEReliefName; SaveModel.Mandatory = ViewModel.Mandatory == ePAYEReliefeMandatory.Yes; SaveModel.PAYEReliefType = (byte)ViewModel.PAYEReliefType; RateSaveModel = new tblPAYEReliefRate() { WEDate = WEDate, MonthlyLimit = ViewModel.MonthlyLimit, AnnualLimit = ViewModel.AnnualLimit, tblPAYERelief = SaveModel, rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID, rcdt = DateTime.Now, }; db.tblPAYEReliefRates.Add(RateSaveModel); //-- try { db.SaveChanges(); //ViewModel.PAYEReliefID = SaveModel.PAYEReliefID; res.PrimeKeyValue = SaveModel.PAYEReliefID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult DeleteRecord(tblFinPeriod RecordToDelete, dbVisionEntities db) { SavingResult res = new SavingResult(); 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 { //DateTime FinDateFrom = RecordToDelete.FinPeriodFrom; //DateTime? FinDateTo = RecordToDelete.FinPeriodTo.Value; long CompanyID = RecordToDelete.CompanyID; long FinPeriodID = RecordToDelete.FinPeriodID; ////// Sale //var SaleInvoices = db.tblSaleInvoices.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID); //db.tblSaleInvoiceAdditionals.RemoveRange(db.tblSaleInvoiceAdditionals.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblSaleInvoiceProductDetails.RemoveRange(db.tblSaleInvoiceProductDetails.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblSaleInvoices.RemoveRange(db.tblSaleInvoices.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //foreach (var sale in SaleInvoices) //{ // if (sale.AdvanceRecieptID != null) // { // db.tblReceipts.Remove(sale.tblReceipt); // } // if (sale.SaleQuoteID.HasValue) // { // tblSaleQuote SaleQuote = db.tblSaleQuotes.Find(sale.SaleQuoteID); // if (SaleQuote != null) // { // SaleQuote.SaleInvoiceID = null; // db.tblSaleQuotes.Attach(SaleQuote); // db.Entry(SaleQuote).State = System.Data.Entity.EntityState.Modified; // } // } //} ///// Deleting Sale Invoices //try //{ // db.SaveChanges(); // res.ExecutionResult = eExecutionResult.CommitedSucessfuly; //} //catch (Exception ex) //{ // CommonFunctions.GetFinalError(res, ex); //} ////DAL.Sales.SaleInvoiceDAL SaleDALObject = new Sales.SaleInvoiceDAL(); ////List<tblSaleInvoice> SalesToDelete = db.tblSaleInvoices.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID).ToList(); ////foreach (tblSaleInvoice Rec in SalesToDelete) ////{ //// res = SaleDALObject.DeleteRecord(Rec, db); //// if (res.ExecutionResult == eExecutionResult.ErrorWhileExecuting || res.ExecutionResult == eExecutionResult.ValidationError) //// { //// return res; //// } ////} ////// Sale Return //var SaleReturns = db.tblSaleReturns.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID); //db.tblSaleReturnAdditionals.RemoveRange(db.tblSaleReturnAdditionals.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblSaleReturnProductDetails.RemoveRange(db.tblSaleReturnProductDetails.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblSaleReturns.RemoveRange(db.tblSaleReturns.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ////DAL.Sales.SaleReturnDAL SaleReturnDALObject = new Sales.SaleReturnDAL(); ////List<tblSaleReturn> SaleReturnsToDelete = db.tblSaleReturns.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID).ToList(); ////foreach (tblSaleReturn Rec in SaleReturnsToDelete) ////{ //// res = SaleReturnDALObject.DeleteRecord(Rec, db); //// if (res.ExecutionResult == eExecutionResult.ErrorWhileExecuting || res.ExecutionResult == eExecutionResult.ValidationError) //// { //// return res; //// } ////} ////// Quotation //var SaleQuotes = db.tblSaleQuotes.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID); //db.tblSaleQuoteAdditionals.RemoveRange(db.tblSaleQuoteAdditionals.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblSaleQuoteProductDetails.RemoveRange(db.tblSaleQuoteProductDetails.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblSaleQuotes.RemoveRange(db.tblSaleQuotes.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ////DAL.Sales.SaleQuoteDAL SaleQuoteDALObject = new Sales.SaleQuoteDAL(); ////List<tblSaleQuote> SaleQuotesToDelete = db.tblSaleQuotes.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID).ToList(); ////foreach (tblSaleQuote Rec in SaleQuotesToDelete) ////{ //// res = SaleQuoteDALObject.DeleteRecord(Rec, db); //// if (res.ExecutionResult == eExecutionResult.ErrorWhileExecuting || res.ExecutionResult == eExecutionResult.ValidationError) //// { //// return res; //// } ////} ////// PurchaseReturn Return //db.tblPurchaseReturnAdditionals.RemoveRange(db.tblPurchaseReturnAdditionals.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblPurchaseReturnProductDetails.RemoveRange(db.tblPurchaseReturnProductDetails.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblPurchaseReturns.RemoveRange(db.tblPurchaseReturns.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ////DAL.Purchase.PurchaseReturnDAL PurchaseReturnDALObject = new Purchase.PurchaseReturnDAL(); ////List<tblPurchaseReturn> PurchaseReturnsToDelete = db.tblPurchaseReturns.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID).ToList(); ////foreach (tblPurchaseReturn Rec in PurchaseReturnsToDelete) ////{ //// res = PurchaseReturnDALObject.DeleteRecord(Rec, db); //// if (res.ExecutionResult == eExecutionResult.ErrorWhileExecuting || res.ExecutionResult == eExecutionResult.ValidationError) //// { //// return res; //// } ////} ////// Purchase //db.tblPurchaseBillAdditionals.RemoveRange(db.tblPurchaseBillAdditionals.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblPurchaseBillProductDetails.RemoveRange(db.tblPurchaseBillProductDetails.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); //db.tblPurchaseBills.RemoveRange(db.tblPurchaseBills.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ////DAL.Purchase.PurchaseInvoiceDAL PurchaseDALObject = new Purchase.PurchaseInvoiceDAL(); ////List<tblPurchase> PurchasesToDelete = db.tblPurchaseBills.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID).ToList(); ////foreach (tblPurchase Rec in PurchasesToDelete) ////{ //// res = PurchaseDALObject.DeleteRecord(Rec, db); //// if (res.ExecutionResult == eExecutionResult.ErrorWhileExecuting || res.ExecutionResult == eExecutionResult.ValidationError) //// { //// return res; //// } ////} ///// Receipt //db.tblReceipts.RemoveRange(db.tblReceipts.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ////List<tblReceipt> ReceiptsToDelete = db.tblReceipts.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID).ToList(); ////DAL.Receipt.ReceiptDAL RecietpDALObject = new Receipt.ReceiptDAL(); ////foreach (tblReceipt Rec in ReceiptsToDelete) ////{ //// res = RecietpDALObject.DeleteRecord(Rec, db); //// if (res.ExecutionResult == eExecutionResult.ErrorWhileExecuting || res.ExecutionResult == eExecutionResult.ValidationError) //// { //// return res; //// } ////} ///// Payment //db.tblPayments.RemoveRange(db.tblPayments.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ////List<tblPayment> PaymentsToDelete = db.tblPayments.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID).ToList(); ////DAL.Payment.PaymentDAL RecietpDALObject = new Payment.PaymentDAL(); ////foreach (tblPayment Rec in PaymentsToDelete) ////{ //// res = RecietpDALObject.DeleteRecord(Rec, db); //// if (res.ExecutionResult == eExecutionResult.ErrorWhileExecuting || res.ExecutionResult == eExecutionResult.ValidationError) //// { //// return res; //// } ////} ////-- Account Balances //db.tblAccountBalances.RemoveRange(db.tblAccountBalances.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ////// Inventory //db.tblStockPDetails.RemoveRange(db.tblStockPDetails.Where(r => r.tblStock.CompanyID == CompanyID && r.tblStock.FinPeriodID == FinPeriodID)); //db.tblStocks.RemoveRange(db.tblStocks.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ///// Product Stock //db.tblProductStocks.RemoveRange(db.tblProductStocks.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ////// Opening Balance //db.tblAccountOpeningBalances.RemoveRange(db.tblAccountOpeningBalances.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID)); ////DAL.Account.AccountOpeningBalanceDAL OpeningBalanceDALObject = new Account.AccountOpeningBalanceDAL(); ////List<tblAccountOpeningBalance> OpeningBalancesToDelete = db.tblAccountOpeningBalances.Where(r => r.CompanyID == CompanyID && r.FinPeriodID == FinPeriodID).ToList(); ////foreach (tblAccountOpeningBalance Rec in OpeningBalancesToDelete) ////{ //// res = OpeningBalanceDALObject.DeleteRecord(Rec, db); //// if(res.ExecutionResult == eExecutionResult.ErrorWhileExecuting || res.ExecutionResult == eExecutionResult.ValidationError) //// { //// return res; //// } ////} ////// deleting all transactions ////if (res.ExecutionResult == eExecutionResult.ValidationError) ////{ //// return res; ////} //// Deleting sms Log //db.tblSMSLogs.RemoveRange(db.tblSMSLogs.Where(r => r.SendDateTime >= RecordToDelete.FinPeriodFrom && r.SendDateTime <= RecordToDelete.FinPeriodTo)); //try //{ // db.SaveChanges(); // res.ExecutionResult = eExecutionResult.CommitedSucessfuly; //} //catch (Exception ex) //{ // CommonFunctions.GetFinalError(res, ex); //} /// Financial Year record removed here but will be committed from where it was called. /// Remove Fin Period //db.tblFinPeriods.Remove(RecordToDelete); byte RecordState_Deleted = (byte)eRecordState.Deleted; RecordToDelete.rstate = RecordState_Deleted; db.tblFinPeriods.Attach(RecordToDelete); db.Entry(RecordToDelete).State = System.Data.Entity.EntityState.Modified; } return(res); }
public SavingResult SaveNewRecord(tblFinPeriod SaveModel, FinPeriodDetailModel PrevFinPeriod, FinPeriodDetailModel NextFinPeriod, List <AccountClosingBalanceViewModel> COBalances, List <ProductOpeningStockViewModel> POStocks) { SavingResult res = new SavingResult(); //-- using (dbVisionEntities db = new dbVisionEntities()) { //tblFinPeriod SaveModel; if (SaveModel.FinPeriodName == "") { res.ValidationError = "Can not accept blank value. Please enter Financial Period Name."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.FinPeriodName, SaveModel.FinPeriodID, db)) { res.ValidationError = "Can not accept duplicate value. The Financial Period Name is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } bool IsNewFinPeriodAdded = (SaveModel.FinPeriodID == 0); if (SaveModel.FinPeriodID == 0) // New Entry { SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; SaveModel.CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID; db.tblFinPeriods.Add(SaveModel); if (PrevFinPeriod != null) { tblFinPeriod PrevFinPerSaveModel = db.tblFinPeriods.Find(PrevFinPeriod.FinPeriodID); if (PrevFinPerSaveModel != null) { if (PrevFinPerSaveModel.FinPeriodTo == null) { PrevFinPerSaveModel.FinPeriodTo = SaveModel.FinPeriodFrom.Date.AddDays(-1); //if (PrevFinPerSaveModel.FinPeriodName == PrevFinPerSaveModel.FinPeriodFrom.Year.ToString() + " - *") //{ PrevFinPerSaveModel.FinPeriodName = PrevFinPerSaveModel.FinPeriodFrom.Year.ToString() + " - " + PrevFinPerSaveModel.FinPeriodTo.Value.Year.ToString(); //} PrevFinPerSaveModel.redt = DateTime.Now; db.tblFinPeriods.Attach(PrevFinPerSaveModel); db.Entry(PrevFinPerSaveModel).State = System.Data.Entity.EntityState.Modified; } } } } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblFinPeriods.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.FinPeriodID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } if (IsNewFinPeriodAdded && PrevFinPeriod != null) { // /// Transfer Stock and Balances // DAL.Account.AccountOpeningBalanceDAL COPBDALObj = new Account.AccountOpeningBalanceDAL(); // ///--- Save Account Balances // foreach (var copb in COBalances) // { // if (copb.OpeningBalance != 0) // { // COPBDALObj.SaveNewRecord(new tblAccountOpeningBalance() // { // OpeningBalanceDate = SaveModel.FinPeriodFrom.Date, // OpeningBalanceAmt = copb.OpeningBalance, // Narration = "Opening Balance T/F", // AccountID = copb.AccountID, // CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID, // tblFinPeriod = SaveModel, // rcdt = DateTime.Now, // rcuid = CommonProperties.LoginInfo.LoggedinUser.UserID // }, SaveModel.CompanyID, SaveModel.FinPeriodID, db, res); // } // } // /// // /// Save Product Stock // DAL.Inventory.ProductOpeningStockDAL POStockDALObj = new Inventory.ProductOpeningStockDAL(); // int OpeningStockVoucherTypeID = (int)Model.Inventory.eStockVoucherType.OpeningStock; // foreach (var stock in POStocks) // { // if (stock.Stock != 0) // { // POStockDALObj.SaveNewRecord( // new tblStock() // { // StockVoucherTypeID = OpeningStockVoucherTypeID, // VDate = SaveModel.FinPeriodFrom.Date, // Narration = "Opening Stock T/F", // CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID, // tblFinPeriod = SaveModel, // rcdt = DateTime.Now, // rcuid = CommonProperties.LoginInfo.LoggedinUser.UserID // }, // new List<tblStockPDetail>() { new tblStockPDetail() // { // ProductID = stock.ProductID, // Rate = stock.Rate, // Qty = stock.Stock // } }, // SaveModel.CompanyID, SaveModel.FinPeriodID, db, res); // } // } /// //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.FinPeriodID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } } return(res); }
public SavingResult SaveEmployeeAttendanceDetail(ReceivedMessageViewModel Message) { SavingResult res = new SavingResult(); DateTime AttendanceDate = Message.LogTime.Date; if (AttendanceDate < SqlDateTime.MinValue.Value) { AttendanceDate = SqlDateTime.MinValue.Value; } using (dbVisionEntities db = new dbVisionEntities()) { // Searching for employee tblEmployee EmployeeSaveModel = db.tblEmployees.FirstOrDefault(r => r.TACode == Message.EmployeeTACode); if (EmployeeSaveModel == null) { res.MessageAfterSave = $"TA Code {Message.EmployeeTACode} not found."; } else if (EmployeeSaveModel.tblEmployeeServiceDetail == null) { res.MessageAfterSave = $"Employe is not in service, Name : {EmployeeSaveModel.EmployeeFirstName} {EmployeeSaveModel.EmployeeLastName}, TA Code : {Message.EmployeeTACode}."; } if (EmployeeSaveModel == null || EmployeeSaveModel.tblEmployeeServiceDetail == null) { var detailSaveModel = new tblEmployeeAttendanceDetail() { EmployeeTACode = Message.EmployeeTACode, LogTime = (Message.LogTime < SqlDateTime.MinValue.Value ? SqlDateTime.MinValue.Value : Message.LogTime), LogTimeType = 0, TerminalType = Message.TerminalType, TerminalID = Message.TerminaID, DeviceSerialNo = Message.DeviceSerialNo, TransactionID = Message.TransactionID, EventType = Message.EventType, PunchType = Message.PunchType, VerificationMode = Message.VerificationMode, rcdt = DateTime.Now, }; db.tblEmployeeAttendanceDetails.Add(detailSaveModel); try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } return(res); } // Searching for employee shift Model.Employee.eEmployeeShiftType EmployeeShiftType = (Model.Employee.eEmployeeShiftType)EmployeeSaveModel.tblEmployeeServiceDetail.EmployeeShiftType; tblEmployeeShift EmployeeShift = null; if (EmployeeShiftType == Model.Employee.eEmployeeShiftType.Fixed) { if (EmployeeSaveModel.tblEmployeeServiceDetail.EmployeeShiftID == null) { //res.ExecutionResult = eExecutionResult.ValidationError; res.MessageAfterSave = $"Shift not allocated, Name : {EmployeeSaveModel.EmployeeFirstName} {EmployeeSaveModel.EmployeeLastName}, TA Code : {Message.EmployeeTACode}."; } else { EmployeeShift = db.tblEmployeeShifts.FirstOrDefault(r => r.EmployeeShiftID == EmployeeSaveModel.tblEmployeeServiceDetail.EmployeeShiftID.Value); } } else { var RotationShift = db.tblEmployeeShiftAllocations.Where(rs => rs.EmployeeID == EmployeeSaveModel.EmployeeID && (rs.WEDateFrom == null || rs.WEDateFrom <= Message.LogTime)).OrderByDescending(rs => rs.WEDateFrom).FirstOrDefault(); if (RotationShift == null) { //res.ExecutionResult = eExecutionResult.ValidationError; res.MessageAfterSave = $"Shift not allocated, Name : {EmployeeSaveModel.EmployeeFirstName} {EmployeeSaveModel.EmployeeLastName}, TA Code : {Message.EmployeeTACode}."; } else { EmployeeShift = db.tblEmployeeShifts.FirstOrDefault(r => r.EmployeeShiftID == RotationShift.EmployeeShiftID); } } if (EmployeeShift == null) { res.MessageAfterSave = $"Employee Shift not found, Name : {EmployeeSaveModel.EmployeeFirstName} {EmployeeSaveModel.EmployeeLastName}, TA Code : {Message.EmployeeTACode}."; var detailSaveModel = new tblEmployeeAttendanceDetail() { EmployeeTACode = Message.EmployeeTACode, LogTime = (Message.LogTime < SqlDateTime.MinValue.Value ? SqlDateTime.MinValue.Value : Message.LogTime), LogTimeType = (byte)eLogTimeType.Unknown, TerminalType = Message.TerminalType, TerminalID = Message.TerminaID, DeviceSerialNo = Message.DeviceSerialNo, TransactionID = Message.TransactionID, EventType = Message.EventType, PunchType = Message.PunchType, VerificationMode = Message.VerificationMode, rcdt = DateTime.Now, }; db.tblEmployeeAttendanceDetails.Add(detailSaveModel); try { db.SaveChanges(); res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } return(res); } //-- // Searching for last logged time. var LastLog = db.tblEmployeeAttendanceDetails.Where(r => r.EmployeeID == EmployeeSaveModel.EmployeeID).OrderByDescending(r => r.LogTime).FirstOrDefault(); TimeSpan ShiftStartRangeFrom = EmployeeShift.ShiftStartTime.Add(new TimeSpan(-2, 0, 0)); TimeSpan ShiftStartRangeTo = EmployeeShift.ShiftStartTime.Add(new TimeSpan(3, 0, 0)); TimeSpan ShiftEndRangeFrom = EmployeeShift.ShiftEndTime.Add(new TimeSpan(-2, 0, 0)); TimeSpan ShiftEndRangeTo = EmployeeShift.ShiftEndTime.Add(new TimeSpan(10, 0, 0)); tblEmployeeAttendanceDetail DetailSaveModel = null; // if the log time is not in valid shift range, before shift start -2 hours and after shift end +10 hours, then it is invalid time, log it but dont consider it as attendance // If Shift Start Range from and Shift End Range to does not eqal, it happens if we have 12 hours shifts. if (ShiftStartRangeFrom != ShiftEndRangeTo && !CheckTimeInRange(Message.LogTime.TimeOfDay, ShiftStartRangeFrom, ShiftEndRangeTo)) { if (LastLog != null) { DetailSaveModel = new tblEmployeeAttendanceDetail() { tblEmployeeAttendance = LastLog.tblEmployeeAttendance, tblEmployee = EmployeeSaveModel, CompanyID = (EmployeeSaveModel != null ? (int?)EmployeeSaveModel.CompanyID : null), LogTime = (Message.LogTime < SqlDateTime.MinValue.Value ? SqlDateTime.MinValue.Value : Message.LogTime), LogTimeType = (byte)eLogTimeType.Unknown, TerminalType = Message.TerminalType, TerminalID = Message.TerminaID, DeviceSerialNo = Message.DeviceSerialNo, TransactionID = Message.TransactionID, EventType = Message.EventType, PunchType = "Invalid Punch Time", //Message.AttendanceStatus, VerificationMode = Message.VerificationMode, rcdt = DateTime.Now }; db.tblEmployeeAttendanceDetails.Add(DetailSaveModel); res.MessageAfterSave = $"Invalid Punch Time, Name : {EmployeeSaveModel.EmployeeFirstName} {EmployeeSaveModel.EmployeeLastName}, TA Code : {Message.EmployeeTACode}, Time : {Message.LogTime.ToString("g")}"; } } else { bool IsLastLogInTime = (LastLog != null && (eLogTimeType)LastLog.LogTimeType == eLogTimeType.In); //bool IsLastLogInTime = (LastLog != null && (LastLog.AttendanceStatus.ToUpper() == Model.BMDevice.DataReceiverViewModel.PunchType_DutyOn.ToUpper() || // LastLog.AttendanceStatus.ToUpper() == Model.BMDevice.DataReceiverViewModel.PunchType_In.ToUpper() || // LastLog.AttendanceStatus.ToUpper() == Model.BMDevice.DataReceiverViewModel.PunchType_OverTimeOn.ToUpper())); // Checking to consider this punch as a new attendance or not. bool IsNewAttendance = false; // if last log not found or last log doesn't have a header attendance record then treat it as new attendance record if (LastLog == null || LastLog.tblEmployeeAttendance == null) { IsNewAttendance = true; } else { // ** we are testing time range by subtracting values, becasue we have date values also, otherwise we use CheckTimeInRange Function ** // If Last log In time was recorded then, if diff. of Last Shift Start Time and Current Punched time > 18 hours then new shift, A shift can not be greater than 18 hours if (LastLog.tblEmployeeAttendance.InTime != null) { if ((Message.LogTime - LastLog.tblEmployeeAttendance.AttendanceDate.Add(LastLog.tblEmployeeAttendance.InTime.Value)).TotalHours > 18) { IsNewAttendance = true; } } else if (Message.LogTime.Subtract(LastLog.LogTime).TotalHours > 10) // If In time was not found then diff of Last log time and Punched time > 10 hours then new shift { IsNewAttendance = true; } } // Checking to consider this punch as In time or out time. bool IsInTime = false; // if it is new attendance and punched time is not the range of shift end time, then treat it as in time. // If not a new attendance then all punch after first punch will be considered as out time. if (IsNewAttendance && !CheckTimeInRange(Message.LogTime.TimeOfDay, ShiftEndRangeFrom, ShiftEndRangeTo)) { IsInTime = true; } // If it is night shift and ends at next day, current punched time is punched after midnight then, it means attendance date must be prev date. // 1. Shift ends next Day == Shift End time is less than Shift Start time // 3. Log Time Less then Shift Start time, this logic confirms the time punched after mid night. see notes: // Possible Shifts for cross day timings /// 15 - 00 /// 16 - 01 /// 17 - 02 /// 18 - 03 /// 19 - 04 /// 20 - 05, if the time is punched upto 23:59, it will qualify [LogTime is less than Shift Start Time], if time punched after 00:00, only then it will qualify. /// 21 - 06 /// 22 - 07 /// 23 - 08 /// If the punched time < Shift Start Range From, because if the punched time is less than shift start range from time, it means it is invalid punch /// we are already dealing with invalid punch time in above codes, it means invalid punch time can not process to this code, so, /// if the punch time is still less than shift start range from, it means it is punched after midnight if (EmployeeShift.ShiftEndTime < ShiftStartRangeFrom && Message.LogTime.TimeOfDay < ShiftStartRangeFrom) { // There must be no attendance for the previous date AttendanceDate = AttendanceDate.AddDays(-1); } //-- tblEmployeeAttendance AttendanceSaveModel = null; if (!IsNewAttendance && LastLog != null && LastLog.tblEmployeeAttendance != null && LastLog.tblEmployeeAttendance.AttendanceDate == AttendanceDate) { AttendanceSaveModel = LastLog.tblEmployeeAttendance; } if (AttendanceSaveModel != null) { DateTime?LastOutTime = (!IsLastLogInTime ? (DateTime?)LastLog.LogTime : null); if (IsInTime) { AttendanceSaveModel.InTime = Message.LogTime.TimeOfDay; } else if (LastOutTime == null || Message.LogTime > LastOutTime) { AttendanceSaveModel.OutTime = Message.LogTime.TimeOfDay; } AttendanceSaveModel.redt = DateTime.Now; db.tblEmployeeAttendances.Attach(AttendanceSaveModel); db.Entry(AttendanceSaveModel).State = System.Data.Entity.EntityState.Modified; } else { AttendanceSaveModel = new tblEmployeeAttendance(); AttendanceSaveModel.AttendanceDate = AttendanceDate; if (IsInTime) { AttendanceSaveModel.InTime = Message.LogTime.TimeOfDay; } else { AttendanceSaveModel.OutTime = Message.LogTime.TimeOfDay; } AttendanceSaveModel.EmployeeID = EmployeeSaveModel.EmployeeID; AttendanceSaveModel.CompanyID = EmployeeSaveModel.CompanyID; AttendanceSaveModel.EmployeeShiftID = EmployeeShift.EmployeeShiftID; AttendanceSaveModel.ShiftStartTime = EmployeeShift.ShiftStartTime; AttendanceSaveModel.ShiftEndTime = EmployeeShift.ShiftEndTime; AttendanceSaveModel.rcdt = DateTime.Now; db.tblEmployeeAttendances.Add(AttendanceSaveModel); } DetailSaveModel = new tblEmployeeAttendanceDetail() { tblEmployeeAttendance = AttendanceSaveModel, tblEmployee = EmployeeSaveModel, CompanyID = (EmployeeSaveModel != null ? (int?)EmployeeSaveModel.CompanyID : null), EmployeeTACode = Message.EmployeeTACode, LogTime = (Message.LogTime < SqlDateTime.MinValue.Value ? SqlDateTime.MinValue.Value : Message.LogTime), LogTimeType = (byte)(IsInTime ? eLogTimeType.In : eLogTimeType.Out), TerminalType = Message.TerminalType, TerminalID = Message.TerminaID, DeviceSerialNo = Message.DeviceSerialNo, TransactionID = Message.TransactionID, EventType = Message.EventType, PunchType = Message.PunchType, VerificationMode = Message.VerificationMode, rcdt = DateTime.Now }; db.tblEmployeeAttendanceDetails.Add(DetailSaveModel); } try { db.SaveChanges(); res.PrimeKeyValue = DetailSaveModel.EmployeeAttendanceDetailID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(tblUserGroup SaveModel, List <MenuOptionPermissionViewModel> Permissions, List <Model.Settings.CompanyMultiSelectLookupModel> Companies, List <LocationUserGroupAccessMultiSelectListModel> Location) { SavingResult res = new SavingResult(); //-- using (dbVisionEntities db = new dbVisionEntities()) { if (SaveModel.UserGroupName == "") { res.ValidationError = "Can not accept blank value. The User Group Name is required."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.UserGroupName, SaveModel.UserGroupID, db)) { res.ValidationError = "Can not accept duplicate value. The User Group Name is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (SaveModel.SuperAdminGroup) { res.ValidationError = "Can not add/edit super admin group."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (SaveModel.UserGroupID == 0) // New Entry { SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; db.tblUserGroups.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblUserGroups.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; db.tblUserGroupPerimissions.RemoveRange(db.tblUserGroupPerimissions.Where(r => r.UserGroupID == SaveModel.UserGroupID)); db.tblUserGroupPermissionOnCompanies.RemoveRange(db.tblUserGroupPermissionOnCompanies.Where(r => r.UserGroupID == SaveModel.UserGroupID)); db.tblUserGroupPermissionOnLocations.RemoveRange(db.tblUserGroupPermissionOnLocations.Where(r => r.UserGroupID == SaveModel.UserGroupID)); } db.tblUserGroupPerimissions.AddRange(Permissions.Select(r => new tblUserGroupPerimission() { tblUserGroup = SaveModel, MenuOptionID = r.MenuOptionID, CanRead = r.CanView, CanAdd = (r.MenuOptionType == Model.Settings.eMenuOptionType.CRUD && r.CanAdd), CanEdit = (r.MenuOptionType == Model.Settings.eMenuOptionType.CRUD && r.CanEdit), CanDelete = (r.MenuOptionType == Model.Settings.eMenuOptionType.CRUD && r.CanDelete), CanAuthorize = (r.MenuOptionType == Model.Settings.eMenuOptionType.CRUD && r.CanAuthorize), CanUnAuthorize = (r.MenuOptionType == Model.Settings.eMenuOptionType.CRUD && r.CanUnAuthorize), rcdt = SaveModel.rcdt, redt = SaveModel.redt, rcuid = SaveModel.rcuid, reuid = SaveModel.reuid, })); db.tblUserGroupPermissionOnCompanies.AddRange(Companies.Where(r => r.Selected).Select(r => new tblUserGroupPermissionOnCompany() { tblUserGroup = SaveModel, CompanyID = r.CompanyID, })); db.tblUserGroupPermissionOnLocations.AddRange(Location.Where(r => r.Selected).Select(r => new tblUserGroupPermissionOnLocation() { tblUserGroup = SaveModel, LocationID = r.LocationID, })); //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.UserGroupID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(tblEmployee SaveModel, EmployeeServiceDetailViewModel ServiceDetail, List <EmployeePersonalDocumentViewModel> DoucmentsList, List <EmployeeFamilyDetailsViewModel> FamilyDetailsList) { SavingResult res = new SavingResult(); //-- Perform Validation //res.ExecutionResult = eExecutionResult.ValidationError; //res.ValidationError = "Validation error message"; //return res; //-- using (dbVisionEntities db = new dbVisionEntities()) { //tblEmployee SaveModel; if (SaveModel.EmployeeFirstName == "") { res.ValidationError = "Can not accept blank value. Please enter Employee Name."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.EmployeeFirstName, SaveModel.EmployeeLastName, SaveModel.EmployeeID, db)) { res.ValidationError = "Can not accept duplicate value. The Employee Name is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (SaveModel.EmployeeID == 0) // New Entry { //SaveModel = new tblEmployee(); SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; SaveModel.CompanyID = Model.CommonProperties.LoginInfo.LoggedInCompany.CompanyID; db.tblEmployees.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblEmployees.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; db.tblEmployeeDocuments.RemoveRange(SaveModel.tblEmployeeDocuments); db.tblEmployeeFamilies.RemoveRange(SaveModel.tblEmployeeFamilies); if (ServiceDetail != null) { db.tblEmployeeLeaveOpeningBalances.RemoveRange(SaveModel.tblEmployeeServiceDetail.tblEmployeeLeaveOpeningBalances); SaveModel.EmployeeLastServiceDetailID = null; db.tblEmployeeServiceDetails.RemoveRange(db.tblEmployeeServiceDetails.Where(r => r.EmployeeID == SaveModel.EmployeeID && r.EmploymentEffectiveDate >= ServiceDetail.EmploymentEffectiveDate)); } } //-- tblEmployeeServiceDetail EmployeeServiceDetail = null; if (ServiceDetail != null) { if (SaveModel.EmployeeLastServiceDetailID == null) // first employment record { EmployeeServiceDetail = new tblEmployeeServiceDetail() { tblEmployee = SaveModel, EmploymentEffectiveDate = ServiceDetail.EmploymentEffectiveDate, ContractExpiryDate = ServiceDetail.ContractExpiryDate, EmploymentType = ServiceDetail.EmploymentType, EmployeeDesignationID = ServiceDetail.EmployeeDesignationID, EmployeeDepartmentID = ServiceDetail.EmployeeDepartmentID, EmployeeWIBAClassID = ServiceDetail.EmployeeWIBAClassID, LocationID = ServiceDetail.LocationID, MinimumWageCategoryID = ServiceDetail.MinimumWageCategoryID, DailyRate = ServiceDetail.DailyRate, BasicSalary = ServiceDetail.BasicSalary, HousingAllowance = ServiceDetail.HousingAllowance, WeekendAllowance = ServiceDetail.WeekendAllowance, EmployeeShiftType = ServiceDetail.EmployeeShiftTypeID, EmployeeShiftID = ServiceDetail.EmployeeShiftID, }; db.tblEmployeeServiceDetails.Add(EmployeeServiceDetail); db.tblEmployeeLeaveOpeningBalances.AddRange(ServiceDetail.EmployeeLeaveOpeningBalance.Select(lopb => new tblEmployeeLeaveOpeningBalance() { tblEmployee = SaveModel, tblEmployeeServiceDetail = EmployeeServiceDetail, LeaveTypeID = lopb.LeaveTypeID, LeaveOpeningBalance = lopb.OpeningBalance, CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID, FinPeriodID = CommonProperties.LoginInfo.LoggedInFinPeriod.FinPeriodID, })); } } //-- db.tblEmployeeDocuments.AddRange(DoucmentsList.Select(r => new tblEmployeeDocument() { tblEmployee = SaveModel, DocumentName = r.DocumentName, FileName = r.FileName })); if (FamilyDetailsList != null) { db.tblEmployeeFamilies.AddRange(FamilyDetailsList.Select(r => new tblEmployeeFamily() { tblEmployee = SaveModel, Address = r.Address, Beneficiary = r.Beneficiary, City = r.City, Email = r.Email, MobileNo = r.MobileNo, Name = r.Name, POBoxNo = r.POBoxNo, Relationship = r.Relationship })); } try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.EmployeeID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); return(res); } if (EmployeeServiceDetail != null) { SaveModel.EmployeeLastServiceDetailID = EmployeeServiceDetail.EmployeeServiceDetailID; try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.EmployeeID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); return(res); } } // // Assign Employee ID in past Attendance data // if (res.ExecutionResult == eExecutionResult.CommitedSucessfuly) // { // db.Database.ExecuteSqlCommand($@" //Update att SET EmployeeID = e.EmployeeID, CompanyID = e.CompanyID //from tblEmployeeAttendance att //Inner Join tblEmployee e on e.TACode = att.EmployeeTACode //where att.EmployeeID is NULL AND att.EmployeeTACode IS NOT NULL AND e.EmployeeID = {SaveModel.EmployeeID} //Update ad Set ad.EmployeeID = a.EmployeeID, ad.CompanyID = a.CompanyID //from tblEmployeeAttendanceDetail ad //inner join tblEmployeeAttendance a on a.EmployeeAttendanceID = ad.EmployeeAttendanceID //where ad.EmployeeID IS NULL AND a.EmployeeID = {SaveModel.EmployeeID}"); // } } return(res); }
public SavingResult SaveNewRecord(tblBiometricDevice SaveModel) { SavingResult res = new SavingResult(); //-- Perform Validation //res.ExecutionResult = eExecutionResult.ValidationError; //res.ValidationError = "Validation error message"; //return res; //-- using (dbVisionEntities db = new dbVisionEntities()) { //tblBiometricDevice SaveModel; if (SaveModel.BMDTitle == "") { res.ValidationError = "Can not accept blank value. Please enter Biometric Device Title."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } //else if (IsDuplicateTitle(SaveModel.BMDTitle, SaveModel.BMDID, db)) //{ // res.ValidationError = "Can not accept duplicate value. The Biometric Device Title is already exists."; // res.ExecutionResult = eExecutionResult.ValidationError; // return res; //} if (String.IsNullOrWhiteSpace(SaveModel.IPAddress)) { res.ValidationError = "Can not accept blank value. Please enter IP Address."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateIPAddress(SaveModel.IPAddress, SaveModel.BMDID, db)) { res.ValidationError = "Can not accept duplicate value. The IP Address is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (SaveModel.BMDID == 0) // New Entry { SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.CompanyID = Model.CommonProperties.LoginInfo.LoggedInCompany.CompanyID; SaveModel.rcdt = DateTime.Now; db.tblBiometricDevices.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblBiometricDevices.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; } //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.BMDID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(tblLocation SaveModel, LocationWeekendSettingViewModel WeekendSetting) { SavingResult res = new SavingResult(); //-- Perform Validation //res.ExecutionResult = eExecutionResult.ValidationError; //res.ValidationError = "Validation error message"; //return res; //-- using (dbVisionEntities db = new dbVisionEntities()) { //tblLocation SaveModel; if (SaveModel.LocationName == "") { res.ValidationError = "Can not accept blank value. Please enter Location Name."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.LocationName, SaveModel.LocationID, db)) { res.ValidationError = "Can not accept duplicate value. The Location Name is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (SaveModel.LocationID == 0) // New Entry { SaveModel.CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID; SaveModel.rcuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.rcdt = DateTime.Now; db.tblLocations.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblLocations.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; if (WeekendSetting.WEDateFrom != null) { DateTime LastUptoDate = WeekendSetting.WEDateFrom.Value.Date.AddDays(-1); foreach (var weekendRows in db.tblLocationWeekendSettings.Where(r => r.LocationID == SaveModel.LocationID && r.WEDateFrom < WeekendSetting.WEDateFrom && (r.WEDateTo == null || r.WEDateTo >= WeekendSetting.WEDateFrom))) { weekendRows.WEDateTo = LastUptoDate; db.tblLocationWeekendSettings.Attach(weekendRows); db.Entry(weekendRows).State = System.Data.Entity.EntityState.Modified; } db.tblLocationWeekendSettings.RemoveRange(db.tblLocationWeekendSettings.Where(r => r.LocationID == SaveModel.LocationID && r.WEDateFrom >= WeekendSetting.WEDateFrom)); } else { db.tblLocationWeekendSettings.RemoveRange(db.tblLocationWeekendSettings.Where(r => r.LocationID == SaveModel.LocationID)); } } db.tblLocationWeekendSettings.Add(new tblLocationWeekendSetting() { tblLocation = SaveModel, WEDateFrom = WeekendSetting.WEDateFrom, Monday = (byte)WeekendSetting.Monday, Tuesday = (byte)WeekendSetting.Tuesday, Wednesday = (byte)WeekendSetting.Wednesday, Thursday = (byte)WeekendSetting.Thursday, Friday = (byte)WeekendSetting.Friday, Saturday = (byte)WeekendSetting.Saturday, Sunday = (byte)WeekendSetting.Sunday }); //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.LocationID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }
public SavingResult SaveNewRecord(tblSafariApplication SaveModel, List <SafariApplicationDayDetail> DayDetail) { SavingResult res = new SavingResult(); //-- Perform Validation //res.ExecutionResult = eExecutionResult.ValidationError; //res.ValidationError = "Validation error message"; //return res; //-- using (dbVisionEntities db = new dbVisionEntities()) { //tblSafariApplication SaveModel; if (SaveModel.SafariApplicationNo == 0) { res.ValidationError = "Please enter Safari Application No."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } else if (IsDuplicateRecord(SaveModel.SafariApplicationNoPrefixID, SaveModel.SafariApplicationNo, SaveModel.SafariApplicationID, db)) { res.ValidationError = "Can not accept duplicate value. The Safari Application No. is already exists."; res.ExecutionResult = eExecutionResult.ValidationError; return(res); } if (SaveModel.SafariApplicationID == 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.tblSafariApplications.Add(SaveModel); } else { SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID; SaveModel.redt = DateTime.Now; db.tblSafariApplications.Attach(SaveModel); db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified; db.tblSafariApplicationDayDetails.RemoveRange(SaveModel.tblSafariApplicationDayDetails); } db.tblSafariApplicationDayDetails.AddRange(DayDetail.Select(r => new tblSafariApplicationDayDetail() { tblSafariApplication = SaveModel, SafariDate = r.SafariDate, SafariType = (byte)r.SafariDayOffType, })); //-- try { db.SaveChanges(); res.PrimeKeyValue = SaveModel.SafariApplicationID; res.ExecutionResult = eExecutionResult.CommitedSucessfuly; } catch (Exception ex) { CommonFunctions.GetFinalError(res, ex); } } return(res); }