internal static void AssertEqual(this ISetSampleOrderParameters expected, SampleOrder result) { if (!string.IsNullOrWhiteSpace(expected.SampleOrderKey)) { Assert.AreEqual(expected.SampleOrderKey, result.ToSampleOrderKey().KeyValue); } Assert.AreEqual(expected.DateDue, result.DateDue); Assert.AreEqual(expected.DateReceived, result.DateReceived); Assert.AreEqual(expected.DateCompleted, result.DateCompleted); Assert.AreEqual(expected.Status, result.Status); Assert.AreEqual(expected.Active, result.Active); Assert.AreEqual(expected.Comments, result.Comments); Assert.AreEqual(expected.PrintNotes, result.PrintNotes); Assert.AreEqual(expected.Volume, result.Volume); Assert.AreEqual(expected.ShipToCompany, result.ShipToCompany); Assert.AreEqual(expected.ShipmentMethod, result.ShipmentMethod); Assert.AreEqual(expected.FOB, result.FOB); if (!string.IsNullOrWhiteSpace(expected.BrokerKey)) { Assert.AreEqual(expected.BrokerKey, result.Broker.ToCompanyKey().KeyValue); } else { Assert.IsNull(result.Broker); } if (!string.IsNullOrWhiteSpace(expected.RequestedByCompanyKey)) { Assert.AreEqual(expected.RequestedByCompanyKey, result.RequestCustomer.ToCustomerKey().KeyValue); } else { Assert.IsNull(result.RequestCustomer); } expected.RequestedByShippingLabel.AssertEquivalent(result.Request); expected.ShipToShippingLabel.AssertEquivalent(result.ShipTo); Assert.AreEqual(expected.Items.Count(), result.Items.Count); foreach (var item in expected.Items) { Assert.IsTrue(result.Items.Any(i => { try { item.AssertEqual(i); return(true); } catch { return(false); } })); } }
public IResult <string> SetSampleOrder(ISetSampleOrderParameters parameters) { try { return(_sampleOrderServiceProvider.SetSampleOrder(parameters)); } catch (Exception ex) { _exceptionLogger.LogException(ex); return(new FailureResult <string>(null, ex.Message)); } }
public IResult <string> SetSampleOrder(ISetSampleOrderParameters parameters) { var parsedParameters = parameters.ToParsedParameters(); if (!parsedParameters.Success) { return(parsedParameters.ConvertTo <string>()); } var conductorResult = new SetSampleOrderConductor(_sampleOrderUnitOfWork).Execute(_timeStamper.CurrentTimeStamp, parsedParameters.ResultingObject); if (!conductorResult.Success) { return(conductorResult.ConvertTo <string>()); } _sampleOrderUnitOfWork.Commit(); var sampleOrderKey = conductorResult.ResultingObject.ToSampleOrderKey(); return(SyncParameters.Using(new SuccessResult <string>(sampleOrderKey), new SyncSampleOrderParameters { SampleOrderKey = sampleOrderKey })); }
internal static IResult <SetSampleOrderParameters> ToParsedParameters(this ISetSampleOrderParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } SampleOrderKey sampleOrderKey = null; if (!string.IsNullOrWhiteSpace(parameters.SampleOrderKey)) { var sampleOrderKeyResult = KeyParserHelper.ParseResult <ISampleOrderKey>(parameters.SampleOrderKey); if (!sampleOrderKeyResult.Success) { return(sampleOrderKeyResult.ConvertTo <SetSampleOrderParameters>()); } sampleOrderKey = sampleOrderKeyResult.ResultingObject.ToSampleOrderKey(); } CustomerKey requestCustomerKey = null; if (!string.IsNullOrWhiteSpace(parameters.RequestedByCompanyKey)) { var customerKeyResult = KeyParserHelper.ParseResult <ICustomerKey>(parameters.RequestedByCompanyKey); if (!customerKeyResult.Success) { return(customerKeyResult.ConvertTo <SetSampleOrderParameters>()); } requestCustomerKey = customerKeyResult.ResultingObject.ToCustomerKey(); } CompanyKey brokerKey = null; if (!string.IsNullOrWhiteSpace(parameters.BrokerKey)) { var companyKey = KeyParserHelper.ParseResult <ICompanyKey>(parameters.BrokerKey); if (!companyKey.Success) { return(companyKey.ConvertTo <SetSampleOrderParameters>()); } brokerKey = companyKey.ResultingObject.ToCompanyKey(); } var itemParameters = parameters.Items.ToParsedParameters(ToParsedParameters); if (!itemParameters.Success) { return(itemParameters.ConvertTo <SetSampleOrderParameters>()); } return(new SuccessResult <SetSampleOrderParameters>(new SetSampleOrderParameters { Parameters = parameters, SampleOrderKey = sampleOrderKey, RequestCustomerKey = requestCustomerKey, BrokerKey = brokerKey, Items = itemParameters.ResultingObject })); }