/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (Id == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Id"); } if (DesktopImage != null) { DesktopImage.Validate(); } if (MobileImage != null) { MobileImage.Validate(); } if (Features != null) { foreach (var element in Features) { if (element != null) { element.Validate(); } } } }
/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (Id == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Id"); } if (Name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Name"); } if (Address == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Address"); } if (Contact == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Contact"); } if (Location == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Location"); } if (StaffedHours == null) { throw new ValidationException(ValidationRules.CannotBeNull, "StaffedHours"); } if (Features == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Features"); } if (PersonalTrainers == null) { throw new ValidationException(ValidationRules.CannotBeNull, "PersonalTrainers"); } if (GroupTraining == null) { throw new ValidationException(ValidationRules.CannotBeNull, "GroupTraining"); } if (DesktopImage != null) { DesktopImage.Validate(); } if (MobileImage != null) { MobileImage.Validate(); } if (Address != null) { Address.Validate(); } if (Location != null) { Location.Validate(); } if (StaffedHours != null) { foreach (var element in StaffedHours) { if (element != null) { element.Validate(); } } } if (Features != null) { foreach (var element1 in Features) { if (element1 != null) { element1.Validate(); } } } if (PersonalTrainers != null) { foreach (var element2 in PersonalTrainers) { if (element2 != null) { element2.Validate(); } } } if (SosChildrensVillage != null) { SosChildrensVillage.Validate(); } if (GroupTraining != null) { foreach (var element3 in GroupTraining) { if (element3 != null) { element3.Validate(); } } } }
public async Task <string> AddMobile(AddMobileDto model) { try { var mobile = new Models.Mobile.Mobile { Name = model.Name, Size = model.Size, Weight = model.Weight, Resolution = model.Resolution, Processor = model.Processor, Memory = model.Memory, OperatingSystem = model.OperatingSystem, Price = model.Price, Manufacturer = await _context.Manufacturers.FirstOrDefaultAsync(m => m.Id == model.Manufacturer) }; await _context.Mobiles.AddAsync(mobile); await _context.SaveChangesAsync(); var path = Path.Combine(_env.WebRootPath, "files", $"{mobile.Id}"); var pathConst = path; if (model.ThumbNail != null) { path = Path.Combine(pathConst, "thumbnail"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } using (var stream = new FileStream(Path.Combine(path, model.ThumbNail.FileName.Split('\\').Last()), FileMode.Create)) { model.ThumbNail.CopyTo(stream); var mobileThumbnail = new MobileThumbnail { MobileId = mobile.Id, Src = $"/files/{mobile.Id}/thumbnail/{model.ThumbNail.FileName.Split('\\').Last()}" }; await _context.MobileThumbnail.AddAsync(mobileThumbnail); } } if (model.Images != null) { foreach (var image in model.Images) { path = Path.Combine(pathConst, "images"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } using (var stream = new FileStream(Path.Combine(path, image.FileName.Split('\\').Last()), FileMode.Create)) { image.CopyTo(stream); var mobileImage = new MobileImage { MobileId = mobile.Id, Src = $"/files/{mobile.Id}/images/{image.FileName.Split('\\').Last()}" }; await _context.MobileImages.AddAsync(mobileImage); } } } if (model.Videos != null) { foreach (var video in model.Videos) { path = Path.Combine(pathConst, "videos"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } using (var stream = new FileStream(Path.Combine(path, video.FileName.Split('\\').Last()), FileMode.Create)) { video.CopyTo(stream); var mobileVideo = new MobileVideo { MobileId = mobile.Id, Src = $"/files/{mobile.Id}/videos/{video.FileName.Split('\\').Last()}" }; await _context.MobileVideos.AddAsync(mobileVideo); } } } await _context.SaveChangesAsync(); return("success"); } catch { return("fail"); } }