public JsonResult Delete(Guid rfqId) { var operationResult = new OperationResult(); var existingRfq = _rfqRepository.GetRfq(rfqId); if (existingRfq != null) { var rfqCount = _rfqRepository.GetRfqs().Where(x => x.ProjectId == existingRfq.ProjectId).Count(); if (rfqCount == 1) { operationResult = _projectRepository.DeleteProject(existingRfq.ProjectId); } var projectParts = _projectPartRepository.GetProjectParts().Where(x => x.RfqId == rfqId).ToList(); if (projectParts != null && projectParts.Count() > 0) { foreach (var projectPart in projectParts) { var partDrawings = _projectPartRepository.GetProjectPartDrawings(projectPart.ProjectPartId); if (partDrawings != null && partDrawings.Count() > 0) { foreach (var partDrawing in partDrawings) { operationResult = _projectPartRepository.DeleteProjectPartDrawing(partDrawing.ProjectPartDrawingId); } } var partLayouts = _projectPartRepository.GetProjectPartLayouts(projectPart.ProjectPartId); if (partLayouts != null && partLayouts.Count() > 0) { foreach (var partLayout in partLayouts) { operationResult = _projectPartRepository.DeleteProjectPartLayout(partLayout.ProjectPartLayoutId); } } operationResult = _projectPartRepository.DeleteProjectPart(projectPart.ProjectPartId); } } operationResult = _rfqRepository.DeleteRfq(rfqId); } return(Json(operationResult, JsonRequestBehavior.AllowGet)); }
public JsonResult DeleteDrawing(Guid partId, Guid drawingId) { var operationResult = new OperationResult(); var projectDrawingToDelete = _projectPartRepository.GetProjectPartDrawing(drawingId); if (projectDrawingToDelete != null) { operationResult = _projectPartRepository.DeleteProjectPartDrawing(drawingId); if (operationResult.Success) { var latestDrawing = _projectPartRepository.GetProjectPartDrawings(partId).OrderByDescending(x => x.CreatedDate).FirstOrDefault(); if (latestDrawing != null) { latestDrawing.IsLatest = true; } operationResult = _projectPartRepository.UpdateProjectPartDrawing(latestDrawing); } } else { var drawingToDelete = _partRepository.GetPartDrawing(drawingId); if (drawingToDelete != null) { operationResult = _partRepository.DeletePartDrawing(drawingToDelete); if (operationResult.Success) { var latestDrawing = _partRepository.GetPartDrawings(partId).OrderByDescending(x => x.CreatedDate).FirstOrDefault(); if (latestDrawing != null) { latestDrawing.IsLatest = true; operationResult = _partRepository.UpdatePartDrawing(latestDrawing); } } } } return(Json(operationResult, JsonRequestBehavior.AllowGet)); }
private OperationResult ConvertProjectPartsToParts(Guid priceSheetId) { var operationResult = new OperationResult(); var projectParts = _projectPartRepository.GetProjectParts().Where(x => x.PriceSheetId == priceSheetId).ToList(); if (projectParts != null && projectParts.Count > 0) { foreach (var projectPart in projectParts) { var existingPart = _partRepository.GetPart(projectPart.PartId); if (existingPart != null) { PartOperationModel convertedModel = new PartOperationConverter().ConvertFromProjectPart(projectPart); Part part = new PartConverter().ConvertToUpdatePart(convertedModel); operationResult = _partRepository.UpdatePart(part); var existingProject = _projectRepository.GetProject(projectPart.ProjectId); if (existingProject != null) { if (existingProject.Parts.FirstOrDefault(x => x.PartId == part.PartId) == null) { existingProject.Parts.Add(part); operationResult = _projectRepository.UpdateProject(existingProject); } } IV00101_Part_Master partMaster = new PartConverter().ConvertToUpdateMaster(convertedModel); operationResult = _partDynamicsRepository.UpdatePartMaster(partMaster); IV00105_Part_Currency partCurrency = new PartConverter().ConvertToUpdateCurrency(convertedModel); operationResult = _partDynamicsRepository.UpdatePartCurrency(partCurrency); } else { var existingProject = _projectRepository.GetProject(projectPart.ProjectId); if (existingProject != null) { Part part = new PartConverter().ConvertToCreatePart(projectPart); existingProject.Parts.Add(part); operationResult = _projectRepository.UpdateProject(existingProject); existingPart = existingProject.Parts.FirstOrDefault(x => x.Number == part.Number); } projectPart.PartId = existingPart.PartId; operationResult = _projectPartRepository.UpdateProjectPart(projectPart); IV00101_Part_Master partMaster = new PartConverter().ConvertToCreateMaster(projectPart); operationResult = _partDynamicsRepository.SavePartMaster(partMaster); IV00105_Part_Currency partCurrency = new PartConverter().ConvertToCreateCurrency(projectPart); operationResult = _partDynamicsRepository.SavePartCurrency(partCurrency); IV00107_Part_Price_Option partPriceOption = new PartConverter().ConvertToCreatePriceOption(projectPart); operationResult = _partDynamicsRepository.SavePartPriceOption(partPriceOption); IV00108_Part_Price partPrice = new PartConverter().ConvertToCreatePrice(projectPart); operationResult = _partDynamicsRepository.SavePartPrice(partPrice); IV00103_Part_Vendor_Master partVendor = new PartConverter().ConvertToCreateVendor(projectPart); operationResult = _partDynamicsRepository.SavePartVendorMaster(partVendor); var projectPartDrawings = _projectPartRepository.GetProjectPartDrawings(projectPart.ProjectPartId); if (projectPartDrawings != null && projectPartDrawings.Count > 0) { foreach (var projectPartDrawing in projectPartDrawings) { operationResult = _projectPartRepository.DeleteProjectPartDrawing(projectPartDrawing.ProjectPartDrawingId); } } var projectPartLayouts = _projectPartRepository.GetProjectPartLayouts(projectPart.ProjectPartId); if (projectPartLayouts != null && projectPartLayouts.Count > 0) { foreach (var projectPartLayout in projectPartLayouts) { operationResult = _projectPartRepository.DeleteProjectPartLayout(projectPartLayout.ProjectPartLayoutId); } } } } } return(operationResult); }