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; }
private void Save(TypeMemberModel model) { if (model.TypeMemberId == Guid.Empty) { var createCommand = new AddTypeMemberCommand(model.Name,model.ScoresFrom,model.ScoresTo,model.PercentDownPayment); model.TypeMemberId = _typeMemberCommandService.AddTypeMember(createCommand); } else { var updateCommand = new EditTypeMemberCommand(model.TypeMemberId, model.Name, model.ScoresFrom, model.ScoresTo, model.PercentDownPayment); _typeMemberCommandService.EditTypeMember(updateCommand); } }