Пример #1
0
        public ActionResult GetPurchaseOrderData()
        {
            var _draw          = Request.Form.GetValues("draw").FirstOrDefault();
            var _start         = Request.Form.GetValues("start").FirstOrDefault();
            var _length        = Request.Form.GetValues("length").FirstOrDefault();
            var _sortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault();
            var _sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();
            var _searchValue   = Request.Form.GetValues("search[value]").FirstOrDefault();

            int _pageSize = _length != null?Convert.ToInt32(_length) : 0;

            int _skip = _start != null?Convert.ToInt32(_start) : 0;

            var request = new PurchaseOrderRequest
            {
                Draw          = _draw,
                SearchValue   = _searchValue,
                SortColumn    = _sortColumn,
                SortColumnDir = _sortColumnDir,
                PageSize      = _pageSize,
                Skip          = _skip
            };

            var response = new PurchaseOrderHandler(_unitOfWork).GetListData(request);
            var check    = GeneralHandler.authorized("VALIDATION_M_PURCHASEORDER");
            var check1   = GeneralHandler.authorized("APPROVE_M_PURCHASEORDER");

            return(Json(new { data = response.Data, recordsFiltered = response.RecordsFiltered, recordsTotal = response.RecordsTotal, draw = response.Draw }, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        public IActionResult CreatePurchaseOrder(PurchaseOrderRequest request)
        {
            string department = User.Claims.First(c => c.Type == "department").Value;

            purchaseOrders.Add(new PurchaseOrder(request.Amount.Value, request.Description, department));
            return(View("PurchaseOrders", purchaseOrders.All));
        }
Пример #3
0
        public ActionResult CreateOrEditPurchaseOrder()
        {
            PurchaseOrderResponse _response = new PurchaseOrderResponse();

            if (Request.QueryString["id"] != null)
            {
                var request = new PurchaseOrderRequest
                {
                    Data = new PurchaseOrderModel
                    {
                        Id = long.Parse(Request.QueryString["id"].ToString())
                    }
                };

                PurchaseOrderResponse resp   = new PurchaseOrderHandler(_unitOfWork).GetDetail(request);
                PurchaseOrderModel    _model = resp.Entity;
                ViewBag.Response = _response;
                return(View(_model));
            }
            else
            {
                ViewBag.Response   = _response;
                ViewBag.ActionType = ClinicEnums.Action.Add;
                return(View());
            }
        }
Пример #4
0
        public JsonResult searchpurchaseorder(string prefix)
        {
            var _draw          = "1";
            var _start         = "0";
            var _length        = "10";
            var _sortColumn    = "Id";
            var _sortColumnDir = "asc";
            var _searchValue   = prefix;

            int _pageSize = _length != null?Convert.ToInt32(_length) : 0;

            int _skip = _start != null?Convert.ToInt32(_start) : 0;

            var request = new PurchaseOrderRequest
            {
                Draw          = _draw,
                SearchValue   = _searchValue,
                SortColumn    = _sortColumn,
                SortColumnDir = _sortColumnDir,
                PageSize      = _pageSize,
                Skip          = _skip
            };
            var response = new PurchaseOrderResponse();

            if (request.SearchValue != null)
            {
                response = new PurchaseOrderHandler(_unitOfWork).GetListData(request);
            }

            return(Json(new { data = response.Data, recordsFiltered = response.RecordsFiltered, recordsTotal = response.RecordsTotal, draw = response.Draw }, JsonRequestBehavior.AllowGet));
        }
Пример #5
0
        public async Task <IActionResult> PurchaseOrder(PurchaseOrderRequest request)
        {
            var response = await mediator.Send(request);

            Log.Information($"User #{HttpContext.GetCurrentUserId()} purchased order #{response.Order?.Id} for {(decimal)request.TotalAmount / Constants.MoneyMultiplier} {request.Currency}");

            return(this.CreateResponse(response));
        }
        public async Task <IActionResult> Edit(int id, PurchaseOrderRequest request)
        {
            var po = purchaseOrders.FindById(id);

            po.Description = request.Description;
            po.Amount      = request.Amount.Value;

            return(RedirectToRoute("Index"));
        }
Пример #7
0
        public void Create(PurchaseRequestResponse _response)
        {
            var searchPredicate = PredicateBuilder.New <PurchaseOrder>(true);

            var purchaseorderrequest = new PurchaseOrderRequest
            {
                Data = Mapper.Map <PurchaseRequestModel, PurchaseOrderModel>(_response.Entity)
            };

            purchaseorderrequest.Data.approve           = null;
            purchaseorderrequest.Data.podate            = DateTime.Now;
            purchaseorderrequest.Data.Validasi          = null;
            purchaseorderrequest.Data.approveby         = null;
            purchaseorderrequest.Data.PurchaseRequestId = Convert.ToInt32(_response.Entity.Id);
            purchaseorderrequest.Data.Id = 0;

            var      lastponumber = _unitOfWork.PurchaseOrderRepository.Get(searchPredicate, orderBy: a => a.OrderByDescending(x => x.CreatedDate)).Select(a => a.ponumber).FirstOrDefault();
            DateTime?getmonth     = _unitOfWork.PurchaseOrderRepository.Get(searchPredicate, orderBy: a => a.OrderByDescending(x => x.CreatedDate)).Select(a => a.podate).FirstOrDefault();
            DateTime?month        = getmonth != null ? getmonth : DateTime.Now;
            string   ponumber     = lastponumber != null?GeneralHandler.stringincrement(lastponumber, Convert.ToDateTime(month)) : "00001";

            purchaseorderrequest.Data.ponumber = "PO" + _response.Entity.Account.Organization + DateTime.Now.Year + DateTime.Now.Month + ponumber;
            purchaseorderrequest.Data.Account  = _response.Entity.Account;

            PurchaseOrderResponse purchaseorderresponse = new PurchaseOrderResponse();

            new PurchaseOrderValidator(_unitOfWork).Validate(purchaseorderrequest, out purchaseorderresponse);

            if (_response.Entity.purchaserequestdetailModels != null)
            {
                int i = 0;
                foreach (var item in _response.Entity.purchaserequestdetailModels)
                {
                    var purchaseorderdetailrequest = new PurchaseOrderDetailRequest
                    {
                        Data = Mapper.Map <PurchaseRequestDetailModel, PurchaseOrderDetailModel>(item)
                    };
                    purchaseorderdetailrequest.Data.PurchaseOrderId = Convert.ToInt32(purchaseorderresponse.Entity.Id);
                    purchaseorderdetailrequest.Data.Account         = _response.Entity.Account;
                    purchaseorderdetailrequest.Data.Id = 0;
                    //
                    var requestnamabarang = new ProductRequest
                    {
                        Data = new ProductModel
                        {
                            Id = Convert.ToInt32(item.ProductId)
                        }
                    };

                    ProductResponse namabarang = new ProductHandler(_unitOfWork).GetDetail(requestnamabarang);
                    purchaseorderdetailrequest.Data.namabarang = namabarang.Entity.Name;
                    PurchaseOrderDetailResponse _purchaseorderdetailresponse = new PurchaseOrderDetailResponse();
                    new PurchaseOrderDetailValidator(_unitOfWork).Validate(purchaseorderdetailrequest, out _purchaseorderdetailresponse);
                    i++;
                }
            }
        }
Пример #8
0
        public void Validate(PurchaseOrderRequest request, out PurchaseOrderResponse response)
        {
            response = new PurchaseOrderResponse();

            if ((request.Action != null && request.Action.Equals(ClinicEnums.Action.DELETE.ToString())) || (request.Action != null && request.Action.Equals(ClinicEnums.Action.APPROVE.ToString())) || (request.Action != null && request.Action.Equals(ClinicEnums.Action.VALIDASI.ToString())))
            {
                if (request.Action != null && request.Action.Equals(ClinicEnums.Action.DELETE.ToString()))
                {
                    ValidateForDelete(request, out response);
                }
                else if (request.Action.Equals(ClinicEnums.Action.APPROVE.ToString()))
                {
                    ValidateForApprove(request, out response);
                }
                else
                {
                    ValidateForValidasi(request, out response);
                }
            }
            else
            {
                bool isHavePrivilege = true;

                if (request.Data.ponumber == null || String.IsNullOrWhiteSpace(request.Data.ponumber))
                {
                    errorFields.Add("Ponumber");
                }

                if (errorFields.Any())
                {
                    response.Status  = false;
                    response.Message = string.Format(Messages.ValidationErrorFields, String.Join(",", errorFields));
                }

                if (request.Data.Id == 0)
                {
                    isHavePrivilege = IsHaveAuthorization(ADD_M_PURCHASEORDER, request.Data.Account.Privileges.PrivilegeIDs);
                }
                else
                {
                    isHavePrivilege = IsHaveAuthorization(EDIT_M_PURCHASEORDER, request.Data.Account.Privileges.PrivilegeIDs);
                }

                if (!isHavePrivilege)
                {
                    response.Status  = false;
                    response.Message = Messages.UnauthorizedAccess;
                }

                if (response.Status)
                {
                    response = new PurchaseOrderHandler(_unitOfWork).CreateOrEdit(request);
                }
            }
        }
Пример #9
0
        public async Task <ApiResponse> PurchaseLibrary([FromBody] PurchaseOrderRequest request)
        {
            var apiResp = new ApiResponse {
                ResponseType = -1, ResponseMessage = "Failed"
            };

            var retVal = await(new JukeBox.BLL.Library()).PurchaseOrder(request.LibraryId, request.LibraryDetailId, request.ClientId, request.UserId);

            if (retVal != null)
            {
                apiResp.ResponseType    = Convert.ToInt16(retVal.Success);
                apiResp.ResponseMessage = retVal.Message;
            }
            return(apiResp);
        }
Пример #10
0
        public IActionResult PurchaseOrder(ExtraPurchaseViewModel purchaseViewModel)
        {
            var order = _unitOfWork.Order.Find(o => o.PurchaseId == purchaseViewModel.PurchaseId).FirstOrDefault();

            var request = new PurchaseOrderRequest()
            {
                OrderReference = order.OrderId,
                ExternalId     = purchaseViewModel.PurchaseId,
                Items          = _unitOfWork.Order.GetItemsFromOrder(order.OrderId)
            };

            _shoppingCart.ClearCart();

            _connectionHandler.PurchaseOrder(request);

            return(View("CheckoutComplete", order));
        }
Пример #11
0
        public JsonResult ApprovePurchaseOrder(int id)
        {
            PurchaseOrderResponse _response = new PurchaseOrderResponse();
            var request = new PurchaseOrderRequest
            {
                Data = new PurchaseOrderModel
                {
                    Id      = id,
                    Account = Session["UserLogon"] == null ? new AccountModel() : (AccountModel)Session["UserLogon"]
                },
                Action = ClinicEnums.Action.APPROVE.ToString()
            };

            new PurchaseOrderValidator(_unitOfWork).Validate(request, out _response);

            return(Json(new { Status = _response.Status, Message = _response.Message }, JsonRequestBehavior.AllowGet));
        }
Пример #12
0
        public JsonResult CreateOrEditPurchaseOrder(PurchaseOrderModel _purchaseorder, List <PurchaseOrderDetailModel> purchaseOrderDetailModels)
        {
            if (Session["UserLogon"] != null)
            {
                _purchaseorder.Account = (AccountModel)Session["UserLogon"];
            }
            _purchaseorder.Id = Convert.ToInt32(_purchaseorder.Id) > 0 ? _purchaseorder.Id : 0;
            var request = new PurchaseOrderRequest
            {
                Data = _purchaseorder
            };

            PurchaseOrderResponse _response = new PurchaseOrderResponse();

            new PurchaseOrderValidator(_unitOfWork).Validate(request, out _response);
            if (purchaseOrderDetailModels != null)
            {
                int i = 0;
                foreach (var item in purchaseOrderDetailModels)
                {
                    item.OrderNumber = i + 1;
                    var purchaseorderdetailrequest = new PurchaseOrderDetailRequest
                    {
                        Data = item
                    };
                    purchaseorderdetailrequest.Data.PurchaseOrderId = Convert.ToInt32(_response.Entity.Id);
                    purchaseorderdetailrequest.Data.Account         = (AccountModel)Session["UserLogon"];
                    //
                    var requestnamabarang = new ProductRequest
                    {
                        Data = new ProductModel
                        {
                            Id = item.ProductId
                        }
                    };

                    ProductResponse namabarang = new ProductHandler(_unitOfWork).GetDetail(requestnamabarang);
                    purchaseorderdetailrequest.Data.namabarang = namabarang.Entity.Name;
                    PurchaseOrderDetailResponse _purchaseorderdetailresponse = new PurchaseOrderDetailResponse();
                    new PurchaseOrderDetailValidator(_unitOfWork).Validate(purchaseorderdetailrequest, out _purchaseorderdetailresponse);
                    i++;
                }
            }
            return(Json(new { data = _response.Data }, JsonRequestBehavior.AllowGet));
        }
Пример #13
0
        public async Task <ApiResponse> PurchaseOrder(
            string urlBase,
            string servicePrefix,
            string controller,
            string tokenType,
            string accessToken,
            PurchaseOrderRequest purchaseOrder)
        {
            try
            {
                var request = JsonConvert.SerializeObject(purchaseOrder);
                var content = new StringContent(
                    request,
                    Encoding.UTF8,
                    "application/json");
                var client = new HttpClient();
                // client.DefaultRequestHeaders.Authorization =
                //    new AuthenticationHeaderValue(tokenType, accessToken);
                client.BaseAddress = new Uri(urlBase);
                var url      = string.Format("{0}{1}", servicePrefix, controller);
                var response = await client.PostAsync(url, content);

                if (!response.IsSuccessStatusCode)
                {
                    return(null);
                }

                var result = await response.Content.ReadAsStringAsync();

                return(JsonConvert.DeserializeObject <ApiResponse>(result));
            }
            catch (Java.Net.SocketException e)
            {
                // Console.WriteLine("\nException Caught!");
                // Console.WriteLine("Message :{0} ", e.Message);

                return(null);
            }
            catch (System.Net.Http.HttpRequestException)
            {
                return(null);
            }
        }
Пример #14
0
        private void ValidateForDelete(PurchaseOrderRequest request, out PurchaseOrderResponse response)
        {
            response = new PurchaseOrderResponse();

            if (request.Action == ClinicEnums.Action.DELETE.ToString())
            {
                bool isHavePrivilege = IsHaveAuthorization(DELETE_M_PURCHASEORDER, request.Data.Account.Privileges.PrivilegeIDs);
                if (!isHavePrivilege)
                {
                    response.Status  = false;
                    response.Message = Messages.UnauthorizedAccess;
                }
            }

            if (response.Status)
            {
                response = new PurchaseOrderHandler(_unitOfWork).RemoveData(request);
            }
        }
Пример #15
0
    public string CreatePurchaseOrder(PurchaseOrderRequest request)
    {
        string result = string.Empty;
        PurchaseOrderController poc = new PurchaseOrderController();

        CoreModel.Supplier sup = poc.GetSupplierById(request.SupplierId);

        CoreModel.POBatch poBatch = new LogicUniversityStore.Model.POBatch()
        {
            GeneratedBy = request.CreatedyBy,
            POBatchDate = DateTime.Now
        };

        CoreModel.PurchaseOrder order = new LogicUniversityStore.Model.PurchaseOrder()
        {
            OrderEmpID           = request.CreatedyBy,
            SupplierID           = request.SupplierId,
            PuchaseOrderNo       = "#" + sup.SupplierID.ToString() + "" + DateTime.Now.Day + "" + "" + DateTime.Now.Month + "/" + DateTime.Now.Hour + DateTime.Now.Minute,
            OrderDate            = DateTime.Now,
            DeliveryAddress      = "",
            ExpectedDeliveryDate = DateTime.Now.AddDays(Convert.ToDouble(sup.MinDeliveryDay)),
            POStatus             = "Requested"
        };

        foreach (POItemRequest item in request.Items)
        {
            CoreModel.Item coreItem = poc.GetItemByItemId(item.ItemId);
            order.PurchaseOrderItems.Add(
                new CoreModel.PurchaseOrderItem()
            {
                ItemID            = item.ItemId,
                RequestedQuantity = item.Quantity,
                UnitPrice         = poc.GetUnitPrice(coreItem, sup)
            }
                );
        }

        if (new PurchaseOrderController().CreatePO(poBatch, order))
        {
            result = order.PuchaseOrderNo;
        }
        return(result);
    }
Пример #16
0
        public async Task <IActionResult> Edit(int id, PurchaseOrderRequest request)
        {
            var po = purchaseOrders.FindById(id);

            IAttributeValueProvider context = new EditPurchaseOrderAuthorizationContext("Update")
            {
                PurchaseOrderAmount     = request.Amount,
                PurchaseOrderDepartment = po.Department
            };

            var authorizationResult = await pep.Evaluate(context);

            if (authorizationResult.Outcome != PolicyOutcome.Permit)
            {
                return(AuthorizationFailed(authorizationResult));
            }

            po.Description = request.Description;
            po.Amount      = request.Amount.Value;

            return(RedirectToRoute("Index"));
        }
Пример #17
0
        public void PurchaseOrder(PurchaseOrderRequest request)
        {
            using (var handler = new WebRequestHandler())
            {
                using (var client = new HttpClient(handler))
                {
                    var bytearray = Encoding.ASCII.GetBytes(_connectionDetails.ToString());

                    client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(bytearray));

                    client.BaseAddress = new Uri($"https://stage.avarda.org/");

                    var body        = JsonConvert.SerializeObject(request);
                    var requestBody = new StringContent(body, Encoding.UTF8, "application/json");
                    var result      = client.PostAsync("checkout2/CheckOut2Api/Commerce/PurchaseOrder", requestBody).Result;

                    if (!result.IsSuccessStatusCode)
                    {
                        throw new Exception(result.Content.ReadAsStringAsync().Result);
                    }
                }
            }
        }
Пример #18
0
        public ActionResult PrintPurchaseOrder(int id)
        {
            PurchaseOrderResponse _response = new PurchaseOrderResponse();

            var request = new PurchaseOrderRequest
            {
                Data = new PurchaseOrderModel
                {
                    Id = id
                }
            };

            PurchaseOrderResponse resp   = new PurchaseOrderHandler(_unitOfWork).GetDetail(request);
            PurchaseOrderModel    _model = resp.Entity;

            ViewBag.Response = _response;
            return(new PartialViewAsPdf(_model)
            {
                PageOrientation = Orientation.Portrait,
                PageSize = Size.Folio,

                FileName = "PurchaseOrder" + _model.ponumber + ".pdf"
            });
        }
Пример #19
0
        public PurchaseOrderResponse SetPurchaseOrder(PurchaseOrderRequest purchaseOrder)
        {
            var request = new PurchaseOrderBundleMaintainRequestMessage_sync();

            request.PurchaseOrderMaintainBundle = new PurchaseOrderMaintainRequestBundle[1];
            var poRequest = new PurchaseOrderMaintainRequestBundle();

            poRequest.BusinessTransactionDocumentTypeCode       = new BusinessTransactionDocumentTypeCode();
            poRequest.BusinessTransactionDocumentTypeCode.Value = "001";

            poRequest.ItemListCompleteTransmissionIndicator          = true;
            poRequest.ItemListCompleteTransmissionIndicatorSpecified = true;

            poRequest.SellerParty = new PurchaseOrderMaintainRequestBundleParty();
            poRequest.SellerParty.ObjectNodePartyTechnicalID = "3";
            poRequest.SellerParty.PartyKey               = new PartyKey();
            poRequest.SellerParty.PartyKey.PartyID       = new PartyID();
            poRequest.SellerParty.PartyKey.PartyID.Value = purchaseOrder.AccountExternalId;

            poRequest.BillToParty = new PurchaseOrderMaintainRequestBundleParty();
            poRequest.BillToParty.ObjectNodePartyTechnicalID = "5";
            poRequest.BillToParty.PartyKey               = new PartyKey();
            poRequest.BillToParty.PartyKey.PartyID       = new PartyID();
            poRequest.BillToParty.PartyKey.PartyID.Value = purchaseOrder.OrganizationID;

            poRequest.BuyerParty = new PurchaseOrderMaintainRequestBundleParty();
            poRequest.BuyerParty.ObjectNodePartyTechnicalID = "2";
            poRequest.BuyerParty.PartyKey               = new PartyKey();
            poRequest.BuyerParty.PartyKey.PartyID       = new PartyID();
            poRequest.BuyerParty.PartyKey.PartyID.Value = purchaseOrder.OrganizationID;

            poRequest.EmployeeResponsibleParty                        = new PurchaseOrderMaintainRequestBundleParty();
            poRequest.EmployeeResponsibleParty.PartyKey               = new PartyKey();
            poRequest.EmployeeResponsibleParty.PartyKey.PartyID       = new PartyID();
            poRequest.EmployeeResponsibleParty.PartyKey.PartyID.Value =
                purchaseOrder.Ownership.LeadOwner.ExternalId;

            poRequest.DeliveryTerms           = new PurchaseOrderMaintainRequestBundleDeliveryTerms();
            poRequest.DeliveryTerms.IncoTerms = new Incoterms();
            poRequest.DeliveryTerms.IncoTerms.ClassificationCode = purchaseOrder.IncotermID;

            poRequest.CashDiscountTerms            = new PurchaseOrderMaintenanceCashDiscountTerms();
            poRequest.CashDiscountTerms.Code       = new CashDiscountTermsCode();
            poRequest.CashDiscountTerms.Code.Value = purchaseOrder.PaymentTermID;

            poRequest.CurrencyCode = purchaseOrder.CurrencyID;

            poRequest.Date = new DateTime();
            poRequest.Date = Convert.ToDateTime(purchaseOrder.OrderDate);

            if (purchaseOrder.ExternalId != null)
            {
                poRequest.PurchaseOrderID       = new BusinessTransactionDocumentID();
                poRequest.PurchaseOrderID.Value = purchaseOrder.ExternalId;
            }

            //lines
            if (purchaseOrder.Lines != null && purchaseOrder.Lines.Count > 0)
            {
                try
                {
                    poRequest.Item = SetPurchaseOrderLines(purchaseOrder.Lines, purchaseOrder.ToLocationExternalId);
                }
                catch (Exception ex)
                {
                    var error = new PurchaseOrderResponse();
                    error.Errors.Add(ex.Message);
                    return(error);
                }
            }

            request.PurchaseOrderMaintainBundle[0] = poRequest;

            var sapResponse       = _manageClient.ManagePurchaseOrderInMaintainBundle(request);
            var parsedSapResponse = ParseSapManageResponse(sapResponse, purchaseOrder.Lines);

            return(parsedSapResponse);
        }
Пример #20
0
        public IActionResult UpdatePurchaseOrder([FromBody] PurchaseOrderRequest request)
        {
            bool   isSucess     = false;
            string messageAlert = string.Empty;
            long   updateOrderTransactionResult = 0;

            OrderTransactionRequest orderTransactionRequest = new OrderTransactionRequest();
            List <OrderTransactionDetailRequest> orderTransactionDetailRequest = new List <OrderTransactionDetailRequest>();

            var currentUserId = HttpContext.Session.GetString(LookupKey.SessionVariables.UserId).IsNull() ? 0 : Convert.ToInt64(HttpContext.Session.GetString(LookupKey.SessionVariables.UserId));

            if (ModelState.IsValid)
            {
                #region Service implementation

                orderTransactionRequest.CreatedBy = currentUserId;

                orderTransactionDetailRequest.Add(new OrderTransactionDetailRequest()
                {
                    ProductId          = request.ProductId,
                    ProductCode        = request.ProductCode,
                    ProductDescription = request.ProductDescription,
                    ProductExtension   = request.ProductExtension,
                    Quantity           = request.Quantity,
                    IsActive           = request.IsActive,
                    CreatedBy          = currentUserId,
                    SupplierId         = request.SupplierId
                });
                var           type  = Type.GetType(string.Format("{0}.{1}, {0}", "Business.InventoryIO.Core", "PurchaseOrderService"));
                IOrderService order = (IOrderService)Activator.CreateInstance(type,
                                                                              _productService,
                                                                              _purchaseOrderService,
                                                                              _purchaseOrderDetailService);

                updateOrderTransactionResult = order.UpdateOrderTransacion(
                    orderTransactionRequest,
                    orderTransactionDetailRequest);

                #endregion

                //IOrderTransactionalServices x = new PurchaseOrderService(_productServices, _orderServices);
                //var type = Type.GetType("Business.AAA.Core.PurchaseOrderService, Business.AAA.Core");
                //updateOrderTransactionResult = x.UpdateOrderTransaction(orderTransactionRequest, orderTransactionDetailRequest);

                if (updateOrderTransactionResult == -100)
                {
                    return(Ok(new { isSucess = isSucess, messageAlert = Messages.ProductCodeValidation }));
                }
                else if (updateOrderTransactionResult == 0)
                {
                    isSucess = true;
                }

                var response = new
                {
                    isSucess     = isSucess,
                    messageAlert = messageAlert
                };
                return(Ok(response));
            }
            else
            {
                return(Ok(new { isSucess = isSucess, messageAlert = Messages.ErrorOccuredDuringProcessing }));
            }
        }
 public void LocalInit()
 {
     purchaseOrderRequest = Api.PurchaseOrderRequest; // Api is declared on TestBase
 }
        private async void BtnTrailor_OnClicked(object sender, EventArgs e)
        {
            var items         = apiLibraryDetails;
            var mainViewModel = MainViewModel.GetInstance();
            var apiService    = new ApiService();

            var apiSecurity = Application.Current.Resources["APISecurity"].ToString();

            if (items != null)
            {
                var request = new PurchaseOrderRequest
                {
                    LibraryId       = libraryId,
                    LibraryDetailId = 0,
                    ClientId        = Convert.ToInt32(mainViewModel.Token.UserName),
                    UserId          = 1
                };

                var checkConnetion = await apiService.CheckConnection();

                if (!checkConnetion.IsSuccess)
                {
                    this.IsEnabled = true;
                    await DisplayAlert(
                        Languages.Error,
                        checkConnetion.Message,
                        Languages.Accept);

                    return;
                }
                if (!DownloadAlbum)
                {
                    var orderResponse = await apiService.PurchaseOrder(
                        apiSecurity,
                        "/api/library",
                        "/purchase",
                        "khji",
                        "klkl",
                        request);

                    if (orderResponse != null)
                    {
                        if (orderResponse.ResponseType == 1)
                        {
                            var response = await BLL.Library.Library.GetLibrary(1, Convert.ToInt32(mainViewModel.Token.UserName));

                            if (response != null)
                            {
                                mainViewModel.LibraryModel.Library = response.ResponseObject;
                            }
                            SongListView.IsEnabled = false;
                            Download.IsVisible     = true;
                            BtnBuy.IsEnabled       = false;
                            foreach (var item in items)
                            {
                                var dataService = new DataService();
                                // ImgDetail.te = "download";
                                await Task.Run(() =>
                                {
                                    var audiobyte = getArrayFromUrl(item.FilePath);
                                    var artWork   = getArrayFromUrl(albumCover);

                                    var song = new AudioLocal
                                    {
                                        LibraryId  = item.Id,
                                        albumId    = libraryId,
                                        AudioTitle = item.Name,
                                        ArtistName = LblArtist.Text,
                                        Album      = LblAlbum.Text,
                                        Genre      = LblGenre.Text,
                                        AudioData  = audiobyte,
                                        ArtWork    = artWork
                                    };
                                    dataService.Insert(song);
                                });
                            }

                            SongListView.IsEnabled = true;
                            Download.IsVisible     = false;
                            BtnBuy.IsEnabled       = true;
                        }
                        else
                        {
                            await DisplayAlert(Languages.Error, orderResponse.ResponseMessage, Languages.Accept);

                            return;
                        }
                    }
                }
                else
                {
                    SongListView.IsEnabled = false;
                    Download.IsVisible     = true;
                    BtnBuy.IsEnabled       = false;


                    foreach (var item in items)
                    {
                        if (dataService.GetFileById(item.Id) == null)
                        {
                            await Task.Run(() =>
                            {
                                var audiobyteArray = getArrayFromUrl(item.FilePath);
                                var artWork        = getArrayFromUrl(albumCover);

                                var songs = new AudioLocal
                                {
                                    LibraryId  = item.Id,
                                    albumId    = libraryId,
                                    AudioTitle = item.Name,
                                    ArtistName = LblArtist.Text,
                                    Album      = LblAlbum.Text,
                                    Genre      = LblGenre.Text,
                                    AudioData  = audiobyteArray,
                                    ArtWork    = artWork
                                };

                                dataService.Insert(songs);
                            });
                        }
                        SongListView.IsEnabled = true;
                        Download.IsVisible     = false;
                        BtnBuy.IsEnabled       = true;
                    }
                }
            }
            else
            {
                await DisplayAlert(Languages.Error, Languages.SomethingWrong, Languages.Accept);

                return;
            }

            var user = await apiService.GetUserByEmail(
                apiSecurity,
                "/api/account",
                "/customer/getcustomer",
                mainViewModel.Token.TokenType,
                mainViewModel.Token.AccessToken,
                mainViewModel.Token.UserName);

            mainViewModel.Login.registerDataService(user, mainViewModel.Token);
            mainViewModel.PlaylistViewModel.Songs = await DependencyService.Get <IPlaylistManager>().GetAllSongs();

            await DependencyService.Get <IMusicManager>().SetQueue(mainViewModel.PlaylistViewModel.Songs);

            mainViewModel.PlaylistViewModel.Album = await DependencyService.Get <IPlaylistManager>().GetSongsByAlbum();
        }
        private async void BtnSingleDownload_OnClicked(object sender, EventArgs e)
        {
            var img           = ((Button)sender);
            var mainViewModel = MainViewModel.GetInstance();
            var apiService    = new ApiService();
            var apiSecurity   = Application.Current.Resources["APISecurity"].ToString();

            if (img.BindingContext is ApiLibraryDetail song)
            {
                var request = new PurchaseOrderRequest
                {
                    LibraryId       = 0,
                    LibraryDetailId = song.Id,
                    ClientId        = Convert.ToInt32(mainViewModel.Token.UserName),
                    UserId          = 1
                };
                var checkConnetion = await apiService.CheckConnection();

                if (!checkConnetion.IsSuccess)
                {
                    this.IsEnabled = true;
                    await DisplayAlert(
                        Languages.Error,
                        checkConnetion.Message,
                        Languages.Accept);

                    return;
                }
                var orderResponse = new ApiResponse();
                if (!song.SongDownload)
                {
                    orderResponse = await apiService.PurchaseOrder(
                        apiSecurity,
                        "/api/library",
                        "/purchase",
                        "khji",
                        "klkl",
                        request);

                    if (orderResponse != null)
                    {
                        if (orderResponse.ResponseType == 1)
                        {
                            //   DowloadFile(song.FilePath, "Album", LblMovieName.Text);

                            var response = await BLL.Library.Library.GetLibrary(1, Convert.ToInt32(mainViewModel.Token.UserName));

                            if (response != null)
                            {
                                mainViewModel.LibraryModel.Library = response.ResponseObject;
                            }
                            if (dataService.GetFileById(song.Id) == null)
                            {
                                var viewCell     = img.Parent as Grid;
                                var viewControls = viewCell.Children;
                                viewControls[2].IsVisible = true;
                                viewControls[5].IsVisible = true;
                                viewControls[3].IsVisible = false;
                                img.IsVisible             = false;

                                await Task.Run(async() =>
                                {
                                    var audiobyte = getArrayFromUrl(song.FilePath);
                                    var artWork   = getArrayFromUrl(albumCover);
                                    var songs     = new List <AudioLocal>
                                    {
                                        new AudioLocal
                                        {
                                            LibraryId  = song.Id,
                                            albumId    = libraryId,
                                            ArtistName = LblArtist.Text,
                                            AudioTitle = song.Name,
                                            Album      = LblAlbum.Text,
                                            Genre      = LblGenre.Text,
                                            AudioData  = audiobyte,
                                            ArtWork    = artWork
                                        }
                                    };
                                    dataService.Insert(songs);
                                });

                                viewControls[2].IsVisible = false;
                                viewControls[5].IsVisible = false;
                                viewControls[3].IsVisible = true;
                                img.IsVisible             = true;
                            }
                        }
                        else
                        {
                            await DisplayAlert(Languages.Error, orderResponse.ResponseMessage, Languages.Accept);

                            return;
                        }
                    }
                }
                else
                {
                    if (dataService.GetFileById(song.Id) == null)
                    {
                        var viewCell     = img.Parent as Grid;
                        var viewControls = viewCell.Children;
                        viewControls[2].IsVisible = true;
                        viewControls[5].IsVisible = true;
                        viewControls[3].IsVisible = false;
                        img.IsVisible             = false;
                        await Task.Run(async() =>
                        {
                            var audiobyteArray = getArrayFromUrl(song.FilePath);
                            var artWork        = getArrayFromUrl(albumCover);

                            var songs = new AudioLocal
                            {
                                LibraryId  = song.Id,
                                ArtistName = LblArtist.Text,
                                albumId    = libraryId,
                                AudioTitle = song.Name,
                                Album      = LblAlbum.Text,
                                Genre      = LblGenre.Text,
                                AudioData  = audiobyteArray,
                                ArtWork    = artWork
                            };
                            dataService.Insert(songs);
                        });

                        viewControls[2].IsVisible = false;
                        viewControls[5].IsVisible = false;
                        viewControls[3].IsVisible = true;
                        img.IsVisible             = true;
                    }
                }
            }
            else
            {
                await DisplayAlert(Languages.Error, Languages.SomethingWrong, Languages.Accept);

                return;
            }

            var user = await apiService.GetUserByEmail(
                apiSecurity,
                "/api/account",
                "/customer/getcustomer",
                mainViewModel.Token.TokenType,
                mainViewModel.Token.AccessToken,
                mainViewModel.Token.UserName);

            mainViewModel.Login.registerDataService(user, mainViewModel.Token);
            mainViewModel.PlaylistViewModel.Songs = await DependencyService.Get <IPlaylistManager>().GetAllSongs();

            await DependencyService.Get <IMusicManager>().SetQueue(mainViewModel.PlaylistViewModel.Songs);

            mainViewModel.PlaylistViewModel.Album = await DependencyService.Get <IPlaylistManager>().GetSongsByAlbum();
        }
 public PurchaseOrderResponse SetPurchaseOrder(PurchaseOrderRequest po)
 {
     return(_purchaseOrderService.SetPurchaseOrder(po));
 }