Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
        }
Пример #12
0
        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);
        }
Пример #13
0
        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);
        }
Пример #14
0
        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);
        }
Пример #15
0
        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);
        }
Пример #16
0
        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);
        }
Пример #17
0
        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);
        }
Пример #18
0
        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);
        }
Пример #19
0
        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);
        }
Пример #20
0
        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);
        }
Пример #21
0
        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);
        }
Пример #22
0
        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);
        }
Пример #23
0
        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);
        }
Пример #24
0
        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);
        }
Пример #25
0
        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);
        }
Пример #26
0
        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);
        }
Пример #27
0
        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);
        }
Пример #28
0
        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);
        }
Пример #29
0
        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);
        }
Пример #30
0
        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);
        }