Exemplo n.º 1
0
        protected static FR_L5EM_GFHNFT_0957 Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var returnValue = new FR_L5EM_GFHNFT_0957();
            var result      = new L5EM_GFHNFT_0957();

            ORM_CMN_BPT_EMP_Employee_FunctionHistory.Query functionHistoryQuery = new ORM_CMN_BPT_EMP_Employee_FunctionHistory.Query();
            functionHistoryQuery.Tenant_RefID = securityTicket.TenantID;
            functionHistoryQuery.IsDeleted    = false;
            List <ORM_CMN_BPT_EMP_Employee_FunctionHistory> functionHistoryQueryList = ORM_CMN_BPT_EMP_Employee_FunctionHistory.Query.Search(Connection, Transaction, functionHistoryQuery);
            List <String> functionHistoryNames = new List <string>();
            foreach (var item in functionHistoryQueryList)
            {
                functionHistoryNames.Add(item.FunctionName);
            }
            result.FunctionNames = functionHistoryNames.ToArray();
            returnValue.Result   = result;


            //Put your code here
            return(returnValue);

            #endregion UserCode
        }
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5EM_SEP_1447 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            //Put your code here
            ORM_CMN_BPT_EMP_Employee_FunctionHistory.Query employeeProfessionQuery = new ORM_CMN_BPT_EMP_Employee_FunctionHistory.Query();
            employeeProfessionQuery.CMN_BPT_EMP_Employee_RefID = Parameter.Employee_RefID;
            employeeProfessionQuery.Tenant_RefID = securityTicket.TenantID;
            employeeProfessionQuery.IsDeleted    = false;
            List <ORM_CMN_BPT_EMP_Employee_FunctionHistory> employeeProfessionList = ORM_CMN_BPT_EMP_Employee_FunctionHistory.Query.Search(Connection, Transaction, employeeProfessionQuery);

            //delete profession from database witch doesn't exist in passed parameter
            List <ORM_CMN_BPT_EMP_Employee_FunctionHistory> deletedProfessionList = new List <ORM_CMN_BPT_EMP_Employee_FunctionHistory>();
            foreach (var item in employeeProfessionList)
            {
                if (Parameter.FunctionHistories.Any(p => p.CMN_BPT_EMP_Employee_FunctionHistoryID == item.CMN_BPT_EMP_Employee_FunctionHistoryID))
                {
                    continue;
                }

                item.Remove(Connection, Transaction);
                deletedProfessionList.Add(item);
            }
            employeeProfessionList = employeeProfessionList.Except(deletedProfessionList).ToList();

            //add or edit every profession from parameter
            foreach (var professionItem in Parameter.FunctionHistories)
            {
                ORM_CMN_BPT_EMP_Employee_FunctionHistory employeeProfession = new ORM_CMN_BPT_EMP_Employee_FunctionHistory();

                if (employeeProfessionList.Any(e => e.CMN_BPT_EMP_Employee_FunctionHistoryID == professionItem.CMN_BPT_EMP_Employee_FunctionHistoryID))
                {
                    employeeProfession.Load(Connection, Transaction, professionItem.CMN_BPT_EMP_Employee_FunctionHistoryID);
                }

                employeeProfession.CMN_BPT_EMP_Employee_RefID = Parameter.Employee_RefID;
                employeeProfession.ValidFrom    = professionItem.ValidFrom;
                employeeProfession.FunctionName = professionItem.FunctionName;
                employeeProfession.Tenant_RefID = securityTicket.TenantID;

                employeeProfession.Save(Connection, Transaction);
            }

            return(returnValue);

            #endregion UserCode
        }