Example #1
0
 public static void Update(this VacancyModel vacancy, VacancyUpdateModel updateRequest)
 {
     UpdateField(vacancy, ((item, value) => item.Title = value), updateRequest.Title);
     UpdateField(vacancy, ((item, value) => item.Description = value), updateRequest.Description);
     UpdateField(vacancy, ((item, value) => item.EmploymentType = value.ToEmploymentType()), updateRequest.EmploymentType);
     UpdateField(vacancy, ((item, value) => item.Salary = value), updateRequest.Salary);
     UpdateField(vacancy, ((item, value) => item.ContactPerson = value), updateRequest.ContactPerson);
     UpdateField(vacancy, ((item, value) => item.ContactPhone = value), updateRequest.ContactPhone);
 }
Example #2
0
 private static void UpdateField <TFieldValue>(
     this VacancyModel vacancy,
     Action <VacancyModel, TFieldValue> parametrUpdateAction,
     UpdateCommandModel <TFieldValue> fieldUpdate)
 {
     if (fieldUpdate?.IsModified ?? false)
     {
         parametrUpdateAction(vacancy, fieldUpdate.Value);
     }
 }
Example #3
0
 public static bool IsIdenticTo(
     this VacancyModel vacancy1,
     VacancyModel vacancy2,
     bool isCheckId = false)
 {
     return((isCheckId ? vacancy1.Id == vacancy2.Id : true) &&
            vacancy1.Title == vacancy2.Title &&
            vacancy1.Salary == vacancy2.Salary &&
            vacancy1.Description == vacancy2.Description &&
            (vacancy1.ContactPerson.IsIdenticPerson(vacancy2.ContactPerson)) &&
            (vacancy2.EmploymentType.IsIdenticEmploymentTypes(vacancy2.EmploymentType)) &&
            ComparePhones(vacancy1.ContactPhone, vacancy2.ContactPhone));
 }
Example #4
0
        public static VacancyUpdateModel ToUpdateCommandBy(
            this VacancyModel origin,
            VacancyResponse updated)
        {
            var updateModel = new VacancyUpdateModel();

            updateModel.Title          = GenerateUpdate(origin.Title, updated.Title);
            updateModel.Description    = GenerateUpdate(origin.Description, updated.Description);
            updateModel.Salary         = GenerateUpdate(origin.Salary, updated.Salary);
            updateModel.ContactPerson  = GenerateUpdate(origin.ContactPerson, updated.ContactPerson);
            updateModel.ContactPhone   = GenerateUpdate(origin.ContactPhone, updated.ContactPhone);
            updateModel.EmploymentType = GenerateUpdate(
                origin.EmploymentType?.ToList()?.ToStringName(),
                updated.EmploymentType?.ToList());

            return(updateModel);
        }