Beispiel #1
0
        /// <summary>
        /// Insert List PersonTechnology
        /// </summary>
        /// <param name="personTechnologies"></param>
        /// <returns></returns>
        public async Task <int> InsertListPersonTechnology(List <PersonTechnology> personTechnologies)
        {
            var result = 0;
            List <PersonTechnology> personTechnologiesUpdate = new List <PersonTechnology>();
            List <PersonTechnology> personTechnologiesInsert = new List <PersonTechnology>();

            foreach (var item in personTechnologies)
            {
                if (await _skillRepository.CheckPersonTechnologyOnDeleteAsync(item))
                {
                    item.UpdatedAt = DateTime.Now;
                    personTechnologiesUpdate.Add(item);
                }
                else
                {
                    if (!await _skillRepository.CheckPersonTechnologyAsync(item))
                    {
                        personTechnologiesInsert.Add(item);
                    }
                }
            }
            if (personTechnologiesUpdate.Count > 0)
            {
                result += await _skillRepository.UpdatePersonTechnologyToInsertAsync(personTechnologiesUpdate);
            }
            result += await _skillRepository.InsertListPersonTechnologyAsync(personTechnologiesInsert);

            return(result);
        }