// To create a function with a return value, note the variable
// type in front of the function name and add a return of the
// same type at the end.
static string lastFirst(string firstName, string lastName)
{
string separator = ", ";
string result = lastName + separator + firstName;
return result;
}
void Start()
{
Debug.Log(Message()/*calling the function with its name*/);
}
string Message()/*you can make values to functions with () and {}*/
{
string message = "Hello world";
return message;//this says which value will be returned
}
public void DoSomething() // Action
public void DoSomething(int number) // Action<int>
public void DoSomething(int number, string text) // Action<int, string>
public int DoSomething() // Func<int>
public int DoSomething(float number) // Func<float, int>
public int DoSomething(float number, string text) // Func<float, string, int>
Func<int> function;
int returnValue;
function = () => 0;
returnValue = function();
int cubedNumber = cube(5);
Console.WriteLine(cubedNumber);
Console.ReadLine();
static int cube(int num)
{
int result = num * num * num;
return result;
}
public async Task DeleteSchoolTask(int schoolNumber, int taskDetailId)
{
var result = await GetTaskTypeAndId(taskDetailId);
int taskId = result.Item1;
string taskType = result.Item2;
// step 1: delete attachment physically from server
var fileService = new FileService(Logger, CurrentUser);
var relativeFilePath = $"{schoolNumber}{Consts.RM_SCHOOL}{taskDetailId}";
fileService.DeleteAttachmentFolderFromServer(Consts.CONFIG_SMP_UPLOADFILE_ROOTPATH, relativeFilePath);
// step 2: delete records from database
await _routineMaintenanceRepo.Value.DeleteSchoolTask(taskDetailId);
}
public async Task<(int, string)> GetTaskTypeAndId(int taskDetailId)
{
var detailRecord = await _routineMaintenanceRepo.Value.GetDetailRecord(taskDetailId);
int taskId = 0;
string taskType = "";
switch (detailRecord.TaskType)
{
case 1:
taskId = (int)detailRecord.RoutineMaintenanceTaskId;
taskType = Consts.RM_DEFAULT;
break;
case 2:
taskId = (int)detailRecord.RoutineMaintenanceTaskDuplicateId;
taskType = Consts.RM_DUPLICATE;
break;
case 3:
taskId = (int)detailRecord.RoutineMaintenanceTaskSchoolId;
taskType = Consts.RM_SCHOOL;
break;
default:
break;
}
return (taskId, taskType);
}