Beispiel #1
0
        public void Create(CreateClientServiceModel model)
        {
            if (string.IsNullOrEmpty(model.EGN) ||
                string.IsNullOrEmpty(model.Email) ||
                string.IsNullOrEmpty(model.FirstName) ||
                string.IsNullOrEmpty(model.LastName) ||
                string.IsNullOrEmpty(model.PhoneNumber))
            {
                throw new ArgumentException("Invalid Input data");
            }
            if (data.Clients.Any(x => x.EGN == model.EGN))
            {
                throw new ArgumentException("Cannot Insert car with Same VIN");
            }
            var client = new Client()
            {
                FirstName   = model.FirstName,
                LastName    = model.LastName,
                EGN         = model.EGN,
                PhoneNumber = model.PhoneNumber,
                Email       = model.Email
            };

            this.data.Add(client);
            this.data.SaveChanges();
        }
Beispiel #2
0
 public IActionResult Add(CreateClientViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(RedirectToAction("Error", "Home"));
     }
     try
     {
         var createModel = new CreateClientServiceModel()
         {
             FirstName   = model.FirstName,
             LastName    = model.LastName,
             EGN         = model.EGN,
             PhoneNumber = model.PhoneNumber,
             Email       = model.Email
         };
         this.client.Create(createModel);
         return(this.RedirectToAction("All"));
     }
     catch (Exception ex)
     {
         LogExceptionWithMessage(ex);
         ViewBag.Section = "error";
         return(View());
     }
 }
        public async Task <IActionResult> Save(ClientRequestModel request)
        {
            var sellerClaim = this.User.Claims.FirstOrDefault(x => x.Type == AccountConstants.Claims.OrganisationIdClaim);

            if (request.Id.HasValue)
            {
                var serviceModel = new UpdateClientServiceModel
                {
                    Id    = request.Id,
                    Name  = request.Name,
                    Email = request.Email,
                    CommunicationLanguage = request.CommunicationLanguage,
                    ClientOrganisationId  = request.OrganisationId,
                    Language       = CultureInfo.CurrentCulture.Name,
                    Username       = this.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value,
                    OrganisationId = GuidHelper.ParseNullable(sellerClaim?.Value)
                };

                var validator = new UpdateClientModelValidator();

                var validationResult = await validator.ValidateAsync(serviceModel);

                if (validationResult.IsValid)
                {
                    var client = await this.clientsService.UpdateAsync(serviceModel);

                    return(this.StatusCode((int)HttpStatusCode.OK, new { Id = client.Id }));
                }

                throw new CustomException(string.Join(ErrorConstants.ErrorMessagesSeparator, validationResult.Errors.Select(x => x.ErrorMessage)), (int)HttpStatusCode.UnprocessableEntity);
            }
            else
            {
                var serviceModel = new CreateClientServiceModel
                {
                    Name  = request.Name,
                    Email = request.Email,
                    CommunicationLanguage = request.CommunicationLanguage,
                    ClientOrganisationId  = request.OrganisationId,
                    Language       = CultureInfo.CurrentCulture.Name,
                    Username       = this.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value,
                    OrganisationId = GuidHelper.ParseNullable(sellerClaim?.Value)
                };

                var validator = new CreateClientModelValidator();

                var validationResult = await validator.ValidateAsync(serviceModel);

                if (validationResult.IsValid)
                {
                    var client = await this.clientsService.CreateAsync(serviceModel);

                    return(this.StatusCode((int)HttpStatusCode.Created, new { Id = client.Id }));
                }

                throw new CustomException(string.Join(ErrorConstants.ErrorMessagesSeparator, validationResult.Errors.Select(x => x.ErrorMessage)), (int)HttpStatusCode.UnprocessableEntity);
            }
        }
Beispiel #4
0
        public async Task <ClientServiceModel> CreateAsync(CreateClientServiceModel serviceModel)
        {
            var client = new Infrastructure.Clients.Entities.Client
            {
                Name           = serviceModel.Name,
                Email          = serviceModel.Email,
                Language       = serviceModel.CommunicationLanguage,
                OrganisationId = serviceModel.ClientOrganisationId.Value,
                SellerId       = serviceModel.OrganisationId.Value
            };

            this.context.Clients.Add(client.FillCommonProperties());

            await this.context.SaveChangesAsync();

            return(await this.GetAsync(new GetClientServiceModel { Id = client.Id, Language = serviceModel.Language, OrganisationId = serviceModel.OrganisationId, Username = serviceModel.Username }));
        }