예제 #1
0
        /// <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
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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);
            }
        }
예제 #4
0
        /// <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);
        }