ModuleAsyncHandlers.cs
1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;
namespace Sungero.Company.Server
{
public class ModuleAsyncHandlers
{
/// <summary>
/// Обновить имя сотрудника из персоны.
/// </summary>
/// <param name="args">Параметры вызова асинхронного обработчика.</param>
public virtual void UpdateEmployeeName(Sungero.Company.Server.AsyncHandlerInvokeArgs.UpdateEmployeeNameInvokeArgs args)
{
int personId = args.PersonId;
Logger.DebugFormat("UpdateEmployeeName: start update employee name. Person id: {0}.", personId);
var employees = Company.Employees.GetAll(x => x.Person.Id == personId);
if (!employees.Any())
{
Logger.DebugFormat("UpdateEmployeeName: employee not found. Person id: {0}.", personId);
return;
}
foreach (var employee in employees)
{
try
{
Company.Functions.Employee.UpdateName(employee, employee.Person);
employee.Save();
}
catch
{
Logger.DebugFormat("UpdateEmployeeName: could not update name. Employee id: {0}.", employee.Id);
args.Retry = true;
continue;
}
Logger.DebugFormat("UpdateEmployeeName: name updated successfully. Employee id: {0}. Person id: {1}.", employee.Id, personId);
}
}
}
}