public static MedicineViewModel Create(MedicineObject o) { var v = new MedicineViewModel { ID = o?.DbRecord.ID, Name = o?.DbRecord.Name, AtcCode = o?.DbRecord.AtcCode, FormOfInjection = o?.DbRecord.FormOfInjection, Strength = o?.DbRecord.Strength, Manufacturer = o?.DbRecord.Manufacturer, LegalStatus = o?.DbRecord.LegalStatus, Reimbursement = o?.DbRecord.Reimbursement, Spc = o?.DbRecord.Spc, Pil = o?.DbRecord.Pil }; if (o is null) { return(v); } v.ValidFrom = setNullIfExtremum(o.DbRecord.ValidFrom); v.ValidTo = setNullIfExtremum(o.DbRecord.ValidTo); foreach (var c in o.EffectsInMedicines) { var product = EffectViewModelFactory.Create(c); v.EffectsInMedicine.Add(product); } return(v); }
public EffectViewModelsList(IPaginatedList <EffectObject> list, string sortOrder = null) { if (list is null) { return; } PageIndex = list.PageIndex; TotalPages = list.TotalPages; var products = new List <EffectViewModel>(); IOrderedEnumerable <EffectViewModel> ordered; foreach (var e in list) { products.Add(EffectViewModelFactory.Create(e)); } switch (sortOrder) { case "name_desc": ordered = products.OrderByDescending(s => s.Name); break; case "validFrom": ordered = products.OrderBy(s => s.ValidFrom); break; case "validFrom_desc": ordered = products.OrderByDescending(s => s.ValidFrom); break; case "validTo": ordered = products.OrderBy(s => s.ValidTo); break; case "validTo_desc": ordered = products.OrderByDescending(s => s.ValidTo); break; default: ordered = products.OrderBy(s => s.Name); break; } AddRange(ordered); }