Пример #1
0
        public static VCard DtoToVCard(VCardDto dto)
        {
            var vCard = new VCard
            {
                //general
                Version = "2.1".Equals(dto.Version) ? SpecificationVersions.vCard21 : SpecificationVersions.vCard30,
            };

            vCard.LastRevision.DateTimeValue = dto.LastRevision;
            //name
            vCard.Name.FamilyName          = dto.LastName;
            vCard.Name.GivenName           = dto.FirstName;
            vCard.Name.AdditionalNames     = dto.MiddleName;
            vCard.Name.NamePrefix          = dto.Title;
            vCard.Name.NameSuffix          = dto.Suffix;
            vCard.SortString.Value         = dto.SortString;
            vCard.FormattedName.Value      = dto.FormattedName;
            vCard.Nickname.NicknamesString = dto.Nickname;
            //work
            vCard.Organization.Name           = dto.Organization;
            vCard.Title.Value                 = dto.JobTitle;
            vCard.Role.Value                  = dto.Role;
            vCard.Organization.UnitsString    = dto.Units;
            vCard.Categories.CategoriesString = dto.Categories;

            return(vCard);
        }
Пример #2
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Version,LastName,FirstName,MiddleName,Title,Suffix,SortString,FormattedName,Nickname,Organization,JobTitle,Role,Units,Categories")] VCardDto vCardDto)
        {
            if (id != vCardDto.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    vCardDto.LastRevision = DateTime.Now;

                    vCardDto = ParseDto(vCardDto);
                    _context.Update(vCardDto);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!VCardDtoExists(vCardDto.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(vCardDto));
        }
Пример #3
0
        public async Task <IActionResult> Create([Bind("ID,Version,LastName,FirstName,MiddleName,Title,Suffix,SortString,FormattedName,Nickname,Organization,JobTitle,Role,Units,Categories")] VCardDto vCardDto)
        {
            if (ModelState.IsValid)
            {
                vCardDto.LastRevision = DateTime.Now;

                vCardDto = ParseDto(vCardDto);
                _context.Add(vCardDto);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(vCardDto));
        }
Пример #4
0
        public static VCardDto VCardToDto(VCard vCard, VCardDto dto)
        {
            //general
            dto.Version      = vCard.Version == SpecificationVersions.vCard21 ? "2.1" : "3.0";
            dto.LastRevision = vCard.LastRevision.DateTimeValue;
            //name
            dto.SortableName  = vCard.Name.SortableName;
            dto.LastName      = vCard.Name.FamilyName;
            dto.FirstName     = vCard.Name.GivenName;
            dto.MiddleName    = vCard.Name.AdditionalNames;
            dto.Title         = vCard.Name.NamePrefix;
            dto.Suffix        = vCard.Name.NameSuffix;
            dto.SortString    = vCard.SortString.Value;
            dto.FormattedName = vCard.FormattedName.Value;
            dto.Nickname      = vCard.Nickname.NicknamesString;
            //work
            dto.Organization = vCard.Organization.Name;
            dto.JobTitle     = vCard.Title.Value;
            dto.Role         = vCard.Role.Value;
            dto.Units        = vCard.Organization.UnitsString;
            dto.Categories   = vCard.Categories.CategoriesString;

            return(dto);
        }
Пример #5
0
 private VCardDto ParseDto(VCardDto vCardDto)
 {
     return(VCardConverter.VCardToDto(VCardConverter.DtoToVCard(vCardDto), vCardDto));
 }