コード例 #1
0
 public async Task<ResponseBool> TargetUpdateAsync(CostCentreTargetItem targetItem)
 {
     ResponseBool _response = new ResponseBool { Success = false, ErrorInfo = "" };
     bool success = false;
     string url = string.Format("api/distributorservices/targetupdate");
     var httpClient = setupHttpClient();
     httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
     try
     {
         var response = await httpClient.PostAsJsonAsync(url, targetItem);
         _response = await response.Content.ReadAsAsync<ResponseBool>();
         if (response.IsSuccessStatusCode)
             success = true;
     }
     catch (Exception ex)
     {
         _log.Error("Failed to update outlet item", ex);
         _response.ErrorInfo = "Failed to update outlet item\n" + ex;
     }
     return _response;
 }
コード例 #2
0
        public async void Save()
        {

            if (Target == 0)
            {
                MessageBox.Show("Select Target Period", "Distributor", MessageBoxButton.OKCancel);
            }
            if (true)
            {
                CostCentreTargetItem targetItem = null;
                bool isNew = false;
                if (TargetId == Guid.Empty)
                {
                    TargetId = Guid.NewGuid();
                    isNew = true;
                }

                targetItem = new CostCentreTargetItem
                                 {
                                     MasterId = TargetId,
                                     CostCentreMasterId = SelectedOutlet.Id,
                                     TargetPeriodMasterId = SelectedTargetPeriod.Id,
                                     IsQuantityTarget = !SetAsAmt,
                                     TargetValue = Target
                                 };
                if (isNew)
                {
                    using (StructureMap.IContainer c = NestedContainer)
                    {
                        ResponseBool response = null;
                        IDistributorServiceProxy proxy = Using<IDistributorServiceProxy>(c);
                        response = await proxy.TargetAddAsync(targetItem);

                        MessageBox.Show(response.ErrorInfo, "Distributr:", MessageBoxButton.OK);

                    }

                }
                else
                {
                    using (StructureMap.IContainer c = NestedContainer)
                    {
                        ResponseBool response = null;
                        IDistributorServiceProxy proxy = Using<IDistributorServiceProxy>(c);
                        response = await proxy.TargetUpdateAsync(targetItem);

                        MessageBox.Show(response.ErrorInfo, "Distributr:", MessageBoxButton.OK);

                    }
                }
                ClearViewModel();
            }
           
        }
コード例 #3
0
 public async void Save()
 {
     SalesmanTargets.Clear();
     AddNewTarget();
     using (var c = NestedContainer)
     {
         ResponseBool response = null;
         var proxy = Using<IDistributorServiceProxy>(c);
         CostCentreTargetItem targetItem = null;
         foreach (var target in SalesmanTargets)
         {
             targetItem = new CostCentreTargetItem
             {
                 MasterId = target.Id,
                 CostCentreMasterId = SelectedSalesmanName.CostCentre,
                 TargetPeriodMasterId = target.PeriodId,
                 IsQuantityTarget = target.IsQtyTarget,
                 TargetValue = target.Target
             };
         }
         response = await proxy.TargetAddAsync(targetItem);
         MessageBox.Show(response.ErrorInfo, "Distributr:", MessageBoxButton.OK);
     }
     Load();
 }
コード例 #4
0
        public HttpResponseMessage TargetUpdate(CostCentreTargetItem targetItem)
        {
            var response = new ResponseBool { Success = false };
            Target target = null;
            try
            {
                target = _targetRepository.GetById(targetItem.MasterId, true);
                if (target._Status != EntityStatus.Inactive)
                {
                    target.IsQuantityTarget = targetItem.IsQuantityTarget;
                    target.TargetPeriod = _targetPeriodRepository.GetById(targetItem.TargetPeriodMasterId);
                    target.TargetValue = targetItem.TargetValue;
                    target.CostCentre = _costCentreRepository.GetById(targetItem.CostCentreMasterId);

                    _targetRepository.Save(target);

                    response.Success = true;
                    response.ErrorInfo = "Successfully updated target for " + target.CostCentre.Name; ;
                }
            }
            catch (DomainValidationException dve)
            {
                string errorMsg = dve.ValidationResults.Results.Aggregate("Error: Invalid target fields.\n",
                                                                          (current, msg) =>
                                                                          current + ("\t- " + msg.ErrorMessage + "\n"));
                response.ErrorInfo = errorMsg;
                _log.Error(errorMsg, dve);
            }
            catch (Exception e)
            {
                response.ErrorInfo = "Error: An error occured when saving the target.";
                _log.Error("Error: An error occured when saving the target.\n", e);
            }
            return Request.CreateResponse(HttpStatusCode.OK, response);
        }