/// <summary> /// Delete an entity. /// </summary> /// <param name="model"></param> public void Delete(DiscountPercentageViewModel model) { var entity = model.ToEntity(); this._DiscountPercentagesRepository.Delete(entity); #region Commit Changes this._unitOfWork.Commit(); #endregion }
/// <summary> /// Add an entity. /// </summary> /// <param name="model"></param> /// <returns></returns> public DiscountPercentageViewModel Add(DiscountPercentageViewModel model) { this.ThrowExceptionIfExist(model); var entity = model.ToEntity(); try { entity.Percentage = int.Parse(model.Name.Replace("%", "")); } catch { } finally { entity.Name = null; } entity = this._DiscountPercentagesRepository.Add(entity); var entityAr = new DiscountPercentage { Name = model.Name, Description = model.DescriptionAr, Language = Framework.Common.Enums.Language.Arabic, ParentKeyDiscountPercentage = entity }; entity.ChildTranslatedDiscountPercentages.Add(entityAr); this._DiscountPercentagesRepository.Add(entityAr); var entityEn = new DiscountPercentage { Name = model.Name, Description = model.DescriptionEn, Language = Framework.Common.Enums.Language.English, ParentKeyDiscountPercentage = entity }; entity.ChildTranslatedDiscountPercentages.Add(entityEn); this._DiscountPercentagesRepository.Add(entityEn); #region Commit Changes this._unitOfWork.Commit(); #endregion model = entity.ToModel(); return(model); }
/// <summary> /// Throw an exception if name is exist. /// </summary> /// <param name="model">DiscountPercentage view model</param> public void ThrowExceptionIfExist(DiscountPercentageViewModel model) { ConditionFilter <DiscountPercentage, long> condition = new ConditionFilter <DiscountPercentage, long> { Query = (entity => entity.ParentKeyDiscountPercentageId != null && entity.ParentKeyDiscountPercentageId != model.Id && entity.Name == model.Name && entity.Id != model.Id) }; var existEntity = this._DiscountPercentagesRepository.Get(condition).FirstOrDefault(); if (existEntity != null) { throw new ItemAlreadyExistException((int)ErrorCodeEnum.DiscountPercentageAlreadyExist); } }
/// <summary> /// Update an entity. /// </summary> /// <param name="model"></param> /// <returns></returns> public DiscountPercentageViewModel Update(DiscountPercentageViewModel model) { this.ThrowExceptionIfExist(model); var entity = this._DiscountPercentagesRepository.Get(model.Id); try { entity.Percentage = int.Parse(model.Name.Replace("%", "")); } catch { } finally { entity.Name = null; } entity = this._DiscountPercentagesRepository.Update(entity); var entityAr = entity.ChildTranslatedDiscountPercentages.FirstOrDefault(x => x.Language == Language.Arabic); entityAr.Name = model.Name; entityAr.Description = model.DescriptionAr; this._DiscountPercentagesRepository.Update(entityAr); var entityEn = entity.ChildTranslatedDiscountPercentages.FirstOrDefault(x => x.Language == Language.English); entityEn.Name = model.Name; entityEn.Description = model.DescriptionEn; this._DiscountPercentagesRepository.Update(entityEn); #region Commit Changes this._unitOfWork.Commit(); #endregion model = entity.ToModel(); return(model); }