コード例 #1
0
        public async Task Transporter_Update_DoesUpdate()
        {
            //Arrange
            Transporter transporter = new Transporter
            {
                Address       = Guid.NewGuid().ToString(),
                City          = Guid.NewGuid().ToString(),
                Description   = Guid.NewGuid().ToString(),
                Name          = Guid.NewGuid().ToString(),
                Phone         = Guid.NewGuid().ToString(),
                ContactPerson = Guid.NewGuid().ToString(),
                ForeignId     = Guid.NewGuid().ToString(),
                ZipCode       = Guid.NewGuid().ToString()
            };

            await transporter.Create(DbContext);

            string newAddress       = Guid.NewGuid().ToString();
            string newCity          = Guid.NewGuid().ToString();
            string newDescription   = Guid.NewGuid().ToString();
            string newName          = Guid.NewGuid().ToString();
            string newPhone         = Guid.NewGuid().ToString();
            string newContactPerson = Guid.NewGuid().ToString();
            string newForeignId     = Guid.NewGuid().ToString();
            string newZipCode       = Guid.NewGuid().ToString();

            transporter.Address       = newAddress;
            transporter.City          = newCity;
            transporter.Description   = newDescription;
            transporter.Name          = newName;
            transporter.Phone         = newPhone;
            transporter.ContactPerson = newContactPerson;
            transporter.ForeignId     = newForeignId;
            transporter.ZipCode       = newZipCode;
            //Act
            await transporter.Update(DbContext);

            Transporter               dbTransporter          = DbContext.Transporters.AsNoTracking().First();
            List <Transporter>        transporterList        = DbContext.Transporters.AsNoTracking().ToList();
            List <TransporterVersion> transporterVersionList = DbContext.TransporterVersions.AsNoTracking().ToList();

            //Assert
            Assert.NotNull(dbTransporter);

            Assert.AreEqual(1, transporterList.Count);
            Assert.AreEqual(2, transporterVersionList.Count);

            Assert.AreEqual(newAddress, dbTransporter.Address);
            Assert.AreEqual(newCity, dbTransporter.City);
            Assert.AreEqual(newDescription, dbTransporter.Description);
            Assert.AreEqual(newName, dbTransporter.Name);
            Assert.AreEqual(newPhone, dbTransporter.Phone);
            Assert.AreEqual(newContactPerson, dbTransporter.ContactPerson);
            Assert.AreEqual(newForeignId, dbTransporter.ForeignId);
            Assert.AreEqual(newZipCode, dbTransporter.ZipCode);
        }
コード例 #2
0
        public async Task <OperationResult> Create(TransporterModel transporterModel)
        {
            var transporter = new Transporter
            {
                Name          = transporterModel.Name,
                Description   = transporterModel.Description,
                ForeignId     = transporterModel.ForeignId,
                City          = transporterModel.City,
                Address       = transporterModel.Address,
                Phone         = transporterModel.Phone,
                ZipCode       = transporterModel.ZipCode,
                ContactPerson = transporterModel.ContactPerson,
            };

            await transporter.Create(_dbContext);

            return(new OperationResult(true));
        }
コード例 #3
0
        public async Task Transporter_Delete_DoesDelete()
        {
            //Arrange
            Transporter transporter = new Transporter
            {
                Address       = Guid.NewGuid().ToString(),
                City          = Guid.NewGuid().ToString(),
                Description   = Guid.NewGuid().ToString(),
                Name          = Guid.NewGuid().ToString(),
                Phone         = Guid.NewGuid().ToString(),
                ContactPerson = Guid.NewGuid().ToString(),
                ForeignId     = Guid.NewGuid().ToString(),
                ZipCode       = Guid.NewGuid().ToString()
            };

            await transporter.Create(DbContext);

            //Act
            await transporter.Delete(DbContext);

            Transporter               dbTransporter          = DbContext.Transporters.AsNoTracking().First();
            List <Transporter>        transporterList        = DbContext.Transporters.AsNoTracking().ToList();
            List <TransporterVersion> transporterVersionList = DbContext.TransporterVersions.AsNoTracking().ToList();

            //Assert
            Assert.NotNull(dbTransporter);

            Assert.AreEqual(1, transporterList.Count);
            Assert.AreEqual(2, transporterVersionList.Count);

            Assert.AreEqual(transporter.Address, dbTransporter.Address);
            Assert.AreEqual(transporter.City, dbTransporter.City);
            Assert.AreEqual(transporter.Description, dbTransporter.Description);
            Assert.AreEqual(transporter.Name, dbTransporter.Name);
            Assert.AreEqual(transporter.Phone, dbTransporter.Phone);
            Assert.AreEqual(transporter.ContactPerson, dbTransporter.ContactPerson);
            Assert.AreEqual(transporter.ForeignId, dbTransporter.ForeignId);
            Assert.AreEqual(transporter.ZipCode, dbTransporter.ZipCode);
            Assert.AreEqual(Constants.WorkflowStates.Removed, transporter.WorkflowState);
        }
        private async Task UpdateProducerAndTransporter(TrashInspection trashInspection, TrashInspectionModel createModel)
        {
            var producer = _dbContext.Producers
                           .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
                           .SingleOrDefault(x => x.Name == createModel.Producer);

            if (producer == null)
            {
                producer = new Producer
                {
                    Name            = createModel.Producer,
                    Address         = createModel.ProducerAddress,
                    City            = createModel.ProducerCity,
                    ContactPerson   = createModel.ProducerContact,
                    Phone           = createModel.ProducerPhone,
                    ZipCode         = createModel.ProducerZip,
                    ForeignId       = createModel.ProducerForeignId,
                    UpdatedByUserId = _userService.UserId,
                    CreatedByUserId = _userService.UserId,
                };

                await producer.Create(_dbContext);
            }
            else
            {
                producer.Address         = createModel.ProducerAddress;
                producer.City            = createModel.ProducerCity;
                producer.ContactPerson   = createModel.ProducerContact;
                producer.Phone           = createModel.ProducerPhone;
                producer.ZipCode         = createModel.ProducerZip;
                producer.ForeignId       = createModel.ProducerForeignId;
                producer.UpdatedByUserId = _userService.UserId;
                await producer.Update(_dbContext);
            }

            trashInspection.ProducerId = producer.Id;

            var transporter = _dbContext.Transporters
                              .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
                              .SingleOrDefault(x => x.Name == createModel.Transporter);

            if (transporter == null)
            {
                transporter = new Transporter
                {
                    Name            = createModel.Transporter,
                    Address         = createModel.TransporterAddress,
                    City            = createModel.TransporterCity,
                    ZipCode         = createModel.TransporterZip,
                    Phone           = createModel.TransporterPhone,
                    ContactPerson   = createModel.TransporterContact,
                    ForeignId       = createModel.TransporterForeignId,
                    UpdatedByUserId = _userService.UserId,
                    CreatedByUserId = _userService.UserId,
                };

                await transporter.Create(_dbContext);
            }
            else
            {
                transporter.Address         = createModel.TransporterAddress;
                transporter.City            = createModel.TransporterCity;
                transporter.ZipCode         = createModel.TransporterZip;
                transporter.Phone           = createModel.TransporterPhone;
                transporter.ContactPerson   = createModel.TransporterContact;
                transporter.ForeignId       = createModel.TransporterForeignId;
                transporter.UpdatedByUserId = _userService.UserId;
                await transporter.Update(_dbContext);
            }

            trashInspection.TransporterId = transporter.Id;
            transporter.UpdatedByUserId   = _userService.UserId;

            await trashInspection.Update(_dbContext);
        }
コード例 #5
0
        public async Task <OperationResult> ImportTransporter(TransporterImportModel transporterAsJson)
        {
            try
            {
                {
                    var rawJson        = JRaw.Parse(transporterAsJson.ImportList);
                    var rawHeadersJson = JRaw.Parse(transporterAsJson.Headers);

                    var headers         = rawHeadersJson;
                    var fractionObjects = rawJson.Skip(1);

                    foreach (var fractionObj in fractionObjects)
                    {
                        var transporterNameExists = int.TryParse(headers[0]["headerValue"].ToString(), out var nameColumn);
                        if (transporterNameExists)
                        {
                            var existingTransporter = FindTransporter(nameColumn, headers, fractionObj);
                            if (existingTransporter == null)
                            {
                                var transporterModel =
                                    TransportersHelper.ComposeValues(new TransporterModel(), headers, fractionObj);

                                var newTransporter = new Transporter
                                {
                                    Name          = transporterModel.Name,
                                    Description   = transporterModel.Description,
                                    ForeignId     = transporterModel.ForeignId,
                                    Address       = transporterModel.Address,
                                    City          = transporterModel.City,
                                    ZipCode       = transporterModel.ZipCode,
                                    Phone         = transporterModel.Phone,
                                    ContactPerson = transporterModel.ContactPerson
                                };
                                await newTransporter.Create(_dbContext);
                            }
                            else
                            {
                                var transporterModel =
                                    TransportersHelper.ComposeValues(new TransporterModel(), headers, fractionObj);

                                existingTransporter.Name          = transporterModel.Name;
                                existingTransporter.Description   = transporterModel.Description;
                                existingTransporter.ForeignId     = transporterModel.ForeignId;
                                existingTransporter.Address       = transporterModel.Address;
                                existingTransporter.City          = transporterModel.City;
                                existingTransporter.ZipCode       = transporterModel.ZipCode;
                                existingTransporter.Phone         = transporterModel.Phone;
                                existingTransporter.ContactPerson = transporterModel.ContactPerson;

                                if (existingTransporter.WorkflowState == Constants.WorkflowStates.Removed)
                                {
                                    existingTransporter.WorkflowState = Constants.WorkflowStates.Created;
                                }

                                await existingTransporter.Update(_dbContext);
                            }
                        }
                    }
                }
                return(new OperationResult(true,
                                           _trashInspectionLocalizationService.GetString("TransporterCreated")));
            }
            catch (Exception e)
            {
                Trace.TraceError(e.Message);
                _coreHelper.LogException(e.Message);
                return(new OperationResult(false,
                                           _trashInspectionLocalizationService.GetString("ErrorWhileCreatingTransporter")));
            }
        }