Пример #1
0
        public static object GetPropertyValue(this EmployeeDetailsItemViewModel dataModel, string propName)
        {
            object val  = null;
            var    prop = dataModel.GetType().GetProperty(propName);

            if (prop != null)
            {
                val = prop.GetValue(dataModel, null);
            }

            return(val);
        }
Пример #2
0
        public static EmployeeListDetailsItemViewModel ToViewModel(this  Employee dataModel)
        {
            ResourceManager rsm = new ResourceManager(Type.GetType("razorAngular.Resources.Messages"));
            EmployeeListDetailsItemViewModel viewModel = null;

            if (dataModel != null)
            {
                var omodel = dataModel.ReportsTo.HasValue ? new DummyRepo().GetElementById(dataModel.ReportsTo.Value) : null;
                var tempVM = new EmployeeDetailsItemViewModel()
                {
                    Id              = dataModel.EmployeeID,
                    LastName        = dataModel.LastName,
                    FirstName       = dataModel.FirstName,
                    Title           = dataModel.Title,
                    TitleOfCourtesy = dataModel.TitleOfCourtesy,
                    BirthDate       = dataModel.BirthDate.HasValue ? dataModel.BirthDate.Value.ToString("MMM-dd,yyyy") : null,
                    HireDate        = dataModel.HireDate.HasValue ? dataModel.HireDate.Value.ToString("MMM-dd,yyyy") : null,
                    Address         = dataModel.Address,
                    City            = dataModel.City,
                    Region          = dataModel.Region,
                    PostalCode      = dataModel.PostalCode,
                    Country         = dataModel.Country,
                    HomePhone       = dataModel.HomePhone,
                    Notes           = dataModel.Notes,
                    Manager         = omodel != null ? omodel.FirstName + " " + omodel.LastName : null,
                    Photo           = dataModel.Photo
                };
                viewModel = new EmployeeListDetailsItemViewModel()
                {
                    Title           = tempVM.LastName + " " + tempVM.FirstName,
                    EmployeeDetails = tempVM.GetType().GetProperties().Select(x => new EmployeeItemDetailsItemViewModel()
                    {
                        Label    = rsm.GetString(x.Name),
                        DateType = x.Name == "Photo" ? "image" : "string",
                        Value    = tempVM.GetPropertyValue(x.Name) as string
                    }).Where(x => !string.IsNullOrEmpty(x.Label))
                };
            }
            return(viewModel);
        }