public void CreatePattern(ContractPartnerViewModel pattern) { if (pattern != null) { var iloop = 1; var patterns = pattern.PartnerPatterns; foreach (var patternM in patterns.Select(pat => new ContractPartnerPattern_M { PartnerMainC = pattern.PartnerMainC, PartnerSubC = pattern.PartnerSubC, ApplyD = pattern.ApplyD, DepartureC = pat.DepartureC, DestinationC = pat.DestinationC, ContainerSizeI = pat.ContainerSizeI, UnitPrice = pat.UnitPrice, CustomerMainC = pat.CustomerMainC, CustomerSubC = pat.CustomerSubC, CalculateByTon = pat.CalculateByTon, DisplayLineNo = iloop++ })) { _contractPartnerPatternRepository.Add(patternM); } } SaveContractPartnerPattern(); }
public ContractPartnerViewModel GetContractPartnerPattern(string customerMainC, string customerSubC, DateTime applyD) { var tarriffs = (from p in _contractPartnerPatternRepository.GetAllQueryable() join dp in _locationRepository.GetAllQueryable() on p.DepartureC equals dp.LocationC join ds in _locationRepository.GetAllQueryable() on p.DestinationC equals ds.LocationC join cus in _customerRepository.GetAllQueryable() on new { p.CustomerMainC, p.CustomerSubC } equals new { cus.CustomerMainC, cus.CustomerSubC } into dt from cus in dt.DefaultIfEmpty() where p.PartnerMainC == customerMainC && p.PartnerSubC == customerSubC && p.ApplyD == applyD select new PartnerPatternViewModel { DepartureC = p.DepartureC, DepartureN = dp.LocationN, DestinationC = p.DestinationC, DestinationN = ds.LocationN, ContainerSizeI = p.ContainerSizeI, UnitPrice = p.UnitPrice, DisplayLineNo = p.DisplayLineNo, CustomerMainC = p.CustomerMainC, CustomerSubC = p.CustomerSubC, CustomerN = cus.CustomerN, CalculateByTon = p.CalculateByTon, }).OrderBy("DisplayLineNo asc, ContainerSizeI asc").ToList(); var model = new ContractPartnerViewModel { PartnerMainC = customerMainC, PartnerSubC = customerSubC, PartnerN = _partnerRepository.Query(i => i.PartnerMainC == customerMainC && i.PartnerSubC == customerSubC) .Select(i => i.PartnerN) .FirstOrDefault(), ApplyD = applyD, PartnerPatterns = tarriffs }; if (tarriffs.Count > 0) { model.PatternIndex = FindIndex(customerMainC, customerSubC, applyD); } return(model); }
public void Put(ContractPartnerViewModel pattern) { _contractPartnerPatternService.UpdatePattern(pattern); }
public void Post(ContractPartnerViewModel pattern) { _contractPartnerPatternService.CreatePattern(pattern); }