Ejemplo n.º 1
0
        public Guid AddTypeMember(AddTypeMemberCommand command)
        {
            ThrowError.Against <ArgumentException>(string.IsNullOrEmpty(command.Name), String.Format(ErrorMessage.IsRequired, "Tên"));
            ThrowError.Against <ArgumentException>(_typeMemberService.Query(t => t.Name.ToUpper().Trim() == command.Name.ToUpper().Trim()).Select().Any(), String.Format(ErrorMessage.Exists, "Tên"));

            var count = _typeMemberService.Query(t => ((t.ScoresFrom < command.ScoresFrom && command.ScoresFrom < t.ScoresTo) || (t.ScoresFrom < command.ScoresTo && command.ScoresTo < t.ScoresTo) || (command.ScoresFrom < t.ScoresFrom && t.ScoresFrom < command.ScoresTo) || (command.ScoresFrom < t.ScoresTo && t.ScoresTo < command.ScoresTo) || (command.ScoresFrom == t.ScoresFrom && command.ScoresTo == t.ScoresTo))).Select().Count();

            ThrowError.Against <ArgumentException>(count > 0, String.Format(ErrorMessage.IsNotTypemMember));

            var typeMember = new TypeMember()
            {
                Name = command.Name,
                PercentDownPayment = command.PercentDownPayment,
                ScoresFrom         = command.ScoresFrom,
                ScoresTo           = command.ScoresTo,
                TypeMemberId       = Guid.NewGuid()
            };

            _typeMemberService.Insert(typeMember);
            _unitOfWork.SaveChanges();
            return(typeMember.TypeMemberId);
        }