예제 #1
0
        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));
        }
예제 #2
0
        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);
        }
예제 #4
0
        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));
        }
예제 #5
0
        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
            });
        }