本文整理汇总了C#中Employee.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# Employee.GetType方法的具体用法?C# Employee.GetType怎么用?C# Employee.GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Employee
的用法示例。
在下文中一共展示了Employee.GetType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SaveEmployee
public void SaveEmployee(Employee Employee)
{
LogDeb.LogException("EmployeeService", "SaveEmployee", "SaveEmployee Debut Ok");
string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand("spSaveEmployee", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter parameterId = new SqlParameter()
{
ParameterName = "@Id",
Value = Employee.Id
};
cmd.Parameters.Add(parameterId);
SqlParameter parameterName = new SqlParameter()
{
ParameterName = "@Name",
Value = Employee.Name
};
cmd.Parameters.Add(parameterName);
SqlParameter parameterGender = new SqlParameter()
{
ParameterName = "@Gender",
Value = Employee.Gender
};
cmd.Parameters.Add(parameterGender);
SqlParameter parameterDateofb = new SqlParameter()
{
ParameterName = "@Dateofb",
Value = Employee.Dateofb
};
cmd.Parameters.Add(parameterDateofb);
SqlParameter parameterEmployeeType = new SqlParameter()
{
ParameterName = "@EmployeeType",
Value = Employee.Type
};
cmd.Parameters.Add(parameterEmployeeType);
if (Employee.GetType() == typeof(FullTimeEmployee))
{
SqlParameter parameterAnnualSalary = new SqlParameter()
{
ParameterName = "@AnnualSalary",
Value = ((FullTimeEmployee)Employee).AnnualSalary
};
cmd.Parameters.Add(parameterAnnualSalary);
}
else
{
SqlParameter parameterHourlyPay = new SqlParameter
{
ParameterName = "@HourlyPay",
Value = ((PartTimeEmployee)Employee).HourlyPay
};
cmd.Parameters.Add(parameterHourlyPay);
SqlParameter parameterHoursWorked = new SqlParameter
{
ParameterName = "@HoursWorked",
Value = ((PartTimeEmployee)Employee).HoursWorked
};
cmd.Parameters.Add(parameterHoursWorked);
}
con.Open();
cmd.ExecuteNonQuery();
LogDeb.LogException("EmployeeService", "SaveEmployee", "SaveEmployee End Ok");
}
}
示例2: GetEmployees
public void GetEmployees(int type)
{
var employee = new Employee(type);
var employeeType = employee.GetType();
}
示例3: TranslateValuesForEmployee
public void TranslateValuesForEmployee(Employee employee, FieldLegalValueConfiguration fieldLegalValueConfiguration, string[] propertiesForEmployee, out TranslationLogEntry logEntry)
{
logEntry = null;
if (propertiesForEmployee == null)
{
propertiesForEmployee = Utilities.GetPropertyNames<Employee>();
}
// Loop through all fields for type
foreach (string fieldName in propertiesForEmployee)
{
string fieldValue = Convert.ToString(employee.GetMemberValue(fieldName));
IEnumerable<FieldLegalValue> legalValuesForFieldName = fieldLegalValueConfiguration.FieldLegalValuesForFieldName(fieldName);
if (String.IsNullOrEmpty(fieldValue) == false)
{
if (legalValuesForFieldName.Any(v => v.LegalValue == fieldValue) == true || legalValuesForFieldName.Count() == 0) // Check if legal
{
}
else
{
PropertyInfo propertyInfo = employee.GetType().GetProperty(fieldName);
FieldTranslatorChange change = new FieldTranslatorChange();
change.FieldName = fieldName;
change.PreviousValue = employee.GetMemberValue(fieldName);
bool logChange = true;
if (legalValuesForFieldName.Any(v => v.FieldTranslations.Cast<FieldTranslation>().Any(t => t.TranslationValue == fieldValue))) // If not legal - check if it can be autocorrected
{
object newValue = null;
var legalValueMatch = legalValuesForFieldName.Where(v => v.FieldTranslations.Cast<FieldTranslation>().Any(t => t.TranslationValue == fieldValue)).FirstOrDefault();
if (legalValueMatch != null)
{
newValue = legalValueMatch.LegalValue;
}
employee.SetMemberValue(fieldName, Convert.ChangeType(newValue, propertyInfo.PropertyType));
change.NewValue = Convert.ChangeType(newValue, propertyInfo.PropertyType);
change.Status = FieldTranslatorChangeStatus.Changed;
}
else // If it cannot be autocorrected
{
if (legalValuesForFieldName.All(x => x.DisallowOtherValues == false) == true) // Ignore if if it will allow other values than the ones defined as a legal value
{
logChange = false;
}
// Else Use the following behaviour
else if (Behaviour == FieldTranslatorBehaviour.KeepNonLegalValues)
{
change.Status = FieldTranslatorChangeStatus.Ignored;
}
else if (Behaviour == FieldTranslatorBehaviour.RemoveNonLegalValues)
{
employee.SetMemberValue(fieldName, Convert.ChangeType(null, propertyInfo.PropertyType));
change.Status = FieldTranslatorChangeStatus.Removed;
}
}
if (this.CommitChanges == true)
{
employee.Save();
}
if (logChange)
{
change.Employee = employee;
Changes.Add(change);
}
if (this.CommitChanges == true && change.Status != FieldTranslatorChangeStatus.Ignored && change.Status != FieldTranslatorChangeStatus.None)
{
Customer currentCustomer = CustomerUtilities.CurrentCustomerFromSession(employee.Session);
logEntry = new TranslationLogEntry(employee.Session)
{
PreviousValue = Convert.ToString(change.PreviousValue),
FieldName = fieldName,
NewValue = Convert.ToString(change.NewValue),
Employee = employee,
ChangeStatus = Convert.ToInt32(change.Status),
Customer = currentCustomer
};
logEntry.Save();
}
}
}
}
}