public int SaveMeasurementData(MeasurementSizePostViewDomain measurementSizePostViewDomain) { var sizeId = measurementSizePostViewDomain.measurementData.Select(t => t.sizeId).FirstOrDefault(); var allExistingData = _dal.GetAllStyleSizeSpecification(measurementSizePostViewDomain.styleId, sizeId); var dataToBeInsertedTemp = measurementSizePostViewDomain.measurementData.Select(t => new Style_Size_Specification { last_update = DateTime.Now, size_id = sizeId, measurement = t.measurement, sgmp_id = t.sgmpId, style_id = measurementSizePostViewDomain.styleId }); var dataToBeInserted = dataToBeInsertedTemp.Except(allExistingData, new StyleSizeSpecificationComparer()); foreach (var extData in allExistingData) { extData.measurement = measurementSizePostViewDomain.measurementData.Where(k => k.sgmpId == extData.sgmp_id && k.sizeId == extData.size_id).Select(m => m.measurement).FirstOrDefault(); } var dataToBeinsertedOrUpdate = dataToBeInserted.Union(allExistingData); return(_dal.SaveMeasurementData(dataToBeinsertedOrUpdate.ToList())); }
public ActionResult SaveMeasument(MeasurementSizePostViewDomain measurementSizePostViewDomain) { _service.SaveMeasurementData(measurementSizePostViewDomain); var vm = _service.GetMeasurementData(measurementSizePostViewDomain.groupId, measurementSizePostViewDomain.styleId); vm.GroupId = measurementSizePostViewDomain.groupId; vm.StyleId = measurementSizePostViewDomain.styleId; vm.viewMode = measurementSizePostViewDomain.viewMode; return(View("Index", vm)); }