public ActionResult Edit(Guid id) { var binder = new FormPromouterToUsers(DataAccessLayer); var user = DataAccessLayer.GetById<PromouterUser>(id); var model = new PromouterForm(); binder.InverseLoad(user, model); return View(model); }
public static PromouterForm Bind(DataAccessLayer dataAccessLayer, Guid userId) { var binder = new FormPromouterToUsers(dataAccessLayer); var user = dataAccessLayer.GetById<PromouterUser>(userId); var model = new PromouterForm(); binder.InverseLoad(user, model); return model; }
public ActionResult Edit(PromouterForm model, IEnumerable<HttpPostedFileBase> photos) { if (ModelState.IsValid) { model.NewPhotos = photos == null ? new List<HttpPostedFileBase>() : photos.Where(x => x != null); var user = DataAccessLayer.GetById<PromouterUser>(model.UserId); var editor = new PromouterEditor(DataAccessLayer); editor.Edit(model, user); DataAccessLayer.DbContext.SaveChanges(); return new RedirectResult(string.Format("/Promouter/Edit/{0}", model.UserId)); } #if DEBUG throw new Exception("ModelState is invalid"); #else return new EmptyResult(); #endif }
public void Edit(PromouterForm source, PromouterUser dest) { dest.Email = source.Email; dest.IsAdmin = source.IsAdmin; var checklist = dest.MainChecklist; if (checklist == null) { #if DEBUG throw new HttpException(404, "Checklist not found"); #endif #if RELEASE return; #endif } var mainAlbum = dest.Albums.First(); if (source.NewPhotos != null) { foreach (var photo in source.NewPhotos) { DataAccessLayer.Create(new Photo { Album = DataAccessLayer.GetById<Album>(mainAlbum.Id), SourceUrl = ImageCreator.SavePhoto(photo) }); } } DataAccessLayer.ClearChecklist(checklist); foreach (var attribute in DataAccessLayer.GetAttributes(DataAccessLayer.Constants.PromouterChecklistType.Id)) { var attributeValue = new AttribValue { AttribId = attribute.Id, ChecklistId = checklist.Id }; #region Big switch [TODO by code field] switch (attribute.Code) { case Constants.LastNameCode: attributeValue.Value = source.LastName; break; case Constants.FirstNameCode: attributeValue.Value = source.FirstName; break; case Constants.MiddleNameCode: attributeValue.Value = source.MiddleName; break; case Constants.GenderCode: attributeValue.Value = source.Gender; break; case Constants.DateOfBirthCode: attributeValue.Value = source.BirthDate.ToPandaString(); break; case Constants.MedicalBookCode: attributeValue.Value = source.MedicalBook.ToString(); break; case Constants.CarCode: attributeValue.Value = source.Car.ToString(); break; case Constants.ReadyForWorkCode: attributeValue.Value = source.ReadyForWork.ToString(); break; case Constants.MobilePhoneCode: attributeValue.Value = source.MobilePhone; break; case Constants.SalaryCode: attributeValue.Value = source.Salary; break; case Constants.CityCode: attributeValue.Value = source.City; break; case Constants.EducationCode: attributeValue.Value = source.Education; break; case Constants.WorkExperienceCode: attributeValue.Value = editWorkExperience(source); break; case Constants.HeightCode: attributeValue.Value = source.Height.ToPandaString(); break; case Constants.BuildCode: attributeValue.Value = source.Build; break; case Constants.WeightCode: attributeValue.Value = source.Weight.ToString(CultureInfo.InvariantCulture); break; case Constants.SkinTypeCode: attributeValue.Value = source.SkinType; break; case Constants.EyeColorCode: attributeValue.Value = source.EyeColor; break; case Constants.HairColorCode: attributeValue.Value = source.HairColor; break; case Constants.HairLengthCode: attributeValue.Value = source.HairLength; break; case Constants.SizeClothesCode: attributeValue.Value = source.SizeClothes; break; case Constants.SizeShoesCode: attributeValue.Value = source.SizeShoes; break; case Constants.SizeChestCode: attributeValue.Value = source.SizeChest; break; case Constants.RollerSkatesCode: attributeValue.Value = source.RollerSkates.ToString(); break; case Constants.WinterSkatesCode: attributeValue.Value = source.WinterSkates.ToString(); break; case Constants.AboutCode: attributeValue.Value = source.About; break; case Constants.HobbiesCode: attributeValue.Value = source.Hobbies; break; case Constants.DesiredWorkTimeCode: attributeValue.Value = editDesiredWorkTime(source); break; case Constants.DesiredWorkCode: attributeValue.Value = editDesiredWork(source); break; } #endregion checklist.AttrbuteValues.Add(attributeValue); } }
private string editWorkExperience(PromouterForm source) { var entityList = DataAccessLayer.Create(new EntityList { }); if (source.WorkExperience != null) { foreach (var item in source.WorkExperience.OrderBy(x => x.CreationDate)) { DataAccessLayer.Create(new WorkExpirience { EntityList = entityList, Start = item.StartTime, End = item.EndTime, Hours = item.Hours, Title = item.Title, WorkName = item.WorkName }); } } return entityList.Id.ToString(); }
private string editDesiredWorkTime(PromouterForm source) { var entityList = DataAccessLayer.Create(new EntityList { }); if (source.DesiredWorkTime != null) { foreach (var item in source.DesiredWorkTime) { DataAccessLayer.Create(new DesiredWorkTime { EntityList = entityList, StartTime = item.StartTime, EndTime = item.EndTime, DayOfWeek = int.Parse(item.DayOfWeek), }); } } return entityList.Id.ToString(); }
private string editDesiredWork(PromouterForm source) { var entityList = DataAccessLayer.Create(new EntityList { }); if (source.DesiredWork != null) { foreach (var item in source.DesiredWork.Where(item => item.Value)) { DataAccessLayer.Create(new DesiredWork { EntityList = entityList, Work = DataAccessLayer.Get<DictValue>(item.Code) }); } } return entityList.Id.ToString(); }