public async Task <ActionResult> Add(OpportunityLineItem input) { if (ModelState.IsValid) { SalesForceResponse sfResponse = new SalesForceResponse(); ForceClient client = await _client.CreateForceClient(); // Creating the Opportunity Line item sfResponse = await _repository.CreateOpportunityLineItem(client, input); // Managing the Notification TempData["NotificationType"] = sfResponse.IsSuccess ? NotificationType.Success.ToString() : NotificationType.Error.ToString(); TempData["Notification"] = sfResponse.Details; return(RedirectToAction("Index", "OpportunityLineitems", new { opportunityId = input.OpportunityId })); } // In case the model has no valid data TempData["NotificationType"] = NotificationType.Error.ToString(); TempData["Notification"] = GlobalHelper.GetErrorListFromModelState(ModelState); return(View(input)); }
public async Task <ActionResult> Update(OpportunityLineItem input) { if (ModelState.IsValid) { SalesForceResponse sfResponse = new SalesForceResponse(); ForceClient client = await _client.CreateForceClient(); // Need to provide opporunity line item id seperately string opportunityLineItemId = input.Id; input.Id = null; string opportunityId = input.OpportunityId; input.OpportunityId = null; // Updating the opportunity line item sfResponse = await _repository.UpdateOpportunityLineItem(client, opportunityLineItemId, input); // Managing Notification based on update operation response TempData["NotificationType"] = sfResponse.IsSuccess ? NotificationType.Success.ToString() : NotificationType.Error.ToString(); TempData["Notification"] = sfResponse.Details; return(RedirectToAction("Index", "OpportunityLineitems", new { opportunityId = opportunityId })); } // Case when model has invalid data TempData["NotificationType"] = NotificationType.Error.ToString(); TempData["Notification"] = GlobalHelper.GetErrorListFromModelState(ModelState); return(View(input)); }
/// <summary> /// Getting details of particular opportunity line item /// </summary> /// <param name="client">Force client instance</param> /// <param name="lineItemId">Line item Id</param> /// <returns>Details of opportunity line item</returns> public async Task <OpportunityLineItem> GetOpportunityLineItemById(ForceClient client, string lineItemId) { OpportunityLineItem lineitemModel = new OpportunityLineItem(); var lineitem = await client.QueryByIdAsync <OpportunityLineItem>(Constants.OpportunityLineItem, lineItemId); if (lineitem != null) { lineitemModel = lineitem; } return(lineitemModel); }
public async Task <ActionResult> Update(string opportunityLineItem) { OpportunityLineItem model = new OpportunityLineItem(); try { ForceClient client = await _client.CreateForceClient(); model = await _repository.GetOpportunityLineItemById(client, opportunityLineItem); } catch (Exception ex) { throw new Exception(ex.Message); } return(View(model)); }
public async Task <OpportunityLineItem> AddLineItem(long?oppId, OpportunityLineItem quoteLineItem) { try { if (oppId == null || quoteLineItem == null) { return(null); } Utils.LogMessage($"Adding line item for opp #{oppId}..."); var lineItem = await apiClient.PostAsync(quoteLineItem, $"{objectUrl}/{oppId}/OpportunityLineItem"); if (lineItem != null) { Utils.LogMessage($"Successfully created line item #{lineItem?.OPPORTUNITY_ITEM_ID}!"); } return(lineItem); } catch (Exception ex) { Utils.LogError($"Adding line item for opp #{oppId}: {ex.Message}"); throw; } }
/// <summary> /// Updating the opportunity line item details for the provided line item id /// </summary> /// <param name="client">Force client instance</param> /// <param name="lineItemId">Line item Id</param> /// <param name="opportunityLineItem">Updated details of the opportunity line item</param> /// <returns></returns> public async Task <SalesForceResponse> UpdateOpportunityLineItem(ForceClient client, string lineItemId, OpportunityLineItem opportunityLineItem) { var result = await client.UpdateAsync(Constants.OpportunityLineItem, lineItemId, opportunityLineItem); return(new SalesForceResponse { IsSuccess = result.Success, Details = result.Success ? Constants.MsgOpportunityLineItemUpdateSuccess : Constants.MsgOpportunityLineItemUpdateFailed }); }
/// <summary> /// Adding new opportunity line item details /// </summary> /// <param name="client">Force client instance</param> /// <param name="opportunityLineItem">Opportunity line item details</param> /// <returns></returns> public async Task <SalesForceResponse> CreateOpportunityLineItem(ForceClient client, OpportunityLineItem opportunityLineItem) { var result = await client.CreateAsync(Constants.OpportunityLineItem, opportunityLineItem); return(new SalesForceResponse { IsSuccess = result.Success, Details = result.Success ? Constants.MsgOpportunityLineItemAddSuccess : Constants.MsgOpportunityLineItemAddFailed }); }