public UpdateOpportunityBuyerResponse UpdateOpportunityBuyer(UpdateOpportunityBuyerRequest request) { UpdateOpportunityBuyerResponse response = new UpdateOpportunityBuyerResponse(); List <OpportunityContactMapTableType> opportunityBuyers = new List <OpportunityContactMapTableType>(); foreach (int contactid in request.opportunityViewModel.Contacts.Select(c => c.Id)) { OpportunityContactMapTableType oppBuyerTableType = new OpportunityContactMapTableType(); oppBuyerTableType.OpportunityContactMapID = 0; oppBuyerTableType.OpportunityID = request.opportunityViewModel.OpportunityID; oppBuyerTableType.ContactID = contactid; oppBuyerTableType.Potential = request.opportunityViewModel.Potential; oppBuyerTableType.ExpectedToClose = request.opportunityViewModel.ExpectedCloseDate; oppBuyerTableType.Comments = request.opportunityViewModel.Comments; oppBuyerTableType.Owner = request.opportunityViewModel.OwnerId; oppBuyerTableType.StageID = request.opportunityViewModel.StageID; oppBuyerTableType.IsDeleted = false; oppBuyerTableType.CreatedOn = DateTime.Now.ToUniversalTime(); oppBuyerTableType.CreatedBy = request.RequestedBy.Value; opportunityBuyers.Add(oppBuyerTableType); } IEnumerable <OpportunityContactMapTableType> buyers = opportunityBuyers.ToList(); opportunityRepository.InsertAndUpdateOpportunityBuyers(buyers); Opportunity updatedOpportunity = opportunityRepository.FindBy(request.opportunityViewModel.OpportunityID); if (indexingService.Update <Opportunity>(updatedOpportunity) > 0) { Logger.Current.Verbose("Opportunity updated to elasticsearch successfully"); } return(response); }
public HttpResponseMessage UpdateBuyer(OpportunityViewModel viewModel) { viewModel.LastModifiedBy = this.UserId; viewModel.LastModifiedOn = DateTime.Now.ToUniversalTime(); viewModel.CreatedOn = viewModel.CreatedOn.ToUniversalTime(); if (viewModel.ExpectedCloseDate.HasValue) { viewModel.ExpectedCloseDate = viewModel.ExpectedCloseDate.Value.ToUniversalTime().Date; } UpdateOpportunityBuyerResponse response = opportunityService.UpdateOpportunityBuyer( new UpdateOpportunityBuyerRequest() { opportunityViewModel = viewModel, AccountId = this.AccountId, RequestedBy = this.UserId, RoleId = this.RoleId, }); return(Request.BuildResponse(response)); }