/// <summary> /// Converts template view model to template model /// </summary> /// <param name="templateViewModel">TemplateViewModel to convert</param> /// <param name="saveImage">Flag to save image data</param> /// <returns>Resulting template</returns> public static OmrTemplate ConvertViewModelToModel(TemplateViewModel templateViewModel, bool saveImage) { OmrTemplate template = new OmrTemplate(); template.TemplateId = templateViewModel.TemplateId; template.FinalizationComplete = templateViewModel.FinalizationComplete; OmrPage page = template.AddPage(); page.Height = templateViewModel.PageHeight; page.Width = templateViewModel.PageWidth; page.ImageName = templateViewModel.TemplateImageName; page.ImageFormat = templateViewModel.ImageFileFormat; if (saveImage) { page.ImageData = CheckAndCompressImage(templateViewModel.TemplateImage, templateViewModel.ImageFileFormat, templateViewModel.ImageSizeInBytes); } foreach (BaseQuestionViewModel element in templateViewModel.PageQuestions) { if (element is ChoiceBoxViewModel) { AddChoiceBoxElement(page, (ChoiceBoxViewModel)element); } else if (element is GridViewModel) { AddGridElement(page, (GridViewModel)element); } } return(template); }
/// <summary> /// Converts template view model to template model /// </summary> /// <param name="templateViewModel">TemplateViewModel to convert</param> /// <returns>Resulting template</returns> public static OmrTemplate ConvertViewModelToModel(TemplateViewModel templateViewModel) { OmrTemplate template = new OmrTemplate(); template.TemplateId = templateViewModel.TemplateId; template.FinalizationComplete = templateViewModel.FinalizationComplete; template.Name = templateViewModel.TemplateName; template.IsGenerated = templateViewModel.IsGeneratedTemplate; OmrPage page = template.AddPage(); page.Height = templateViewModel.PageHeight; page.Width = templateViewModel.PageWidth; page.ImageName = templateViewModel.TemplateImageName; page.ImageFormat = templateViewModel.ImageFileFormat; if (templateViewModel.ReferencePointsModels != null && templateViewModel.ReferencePointsModels.Length > 0) { for (int i = 0; i < templateViewModel.ReferencePointsModels.Length; i++) { page.AddRefPointElement(templateViewModel.ReferencePointsModels[i]); } } foreach (BaseQuestionViewModel element in templateViewModel.PageQuestions) { if (element is ChoiceBoxViewModel) { AddChoiceBoxElement(page, (ChoiceBoxViewModel)element); } else if (element is GridViewModel) { AddGridElement(page, (GridViewModel)element); } else if (element is BarcodeViewModel) { AddBarcodeElement(page, (BarcodeViewModel)element); } else if (element is ClipAreaViewModel) { AddClipAreaElement(page, (ClipAreaViewModel)element); } } return(template); }