コード例 #1
0
        public IActionResult SubmitEVoucher(SubmitEVoucherRequest _request)
        {
            string APIName = "SubmitEVoucher";

            log.LogInformation($"{APIName}\r\njson={StringHelper.SerializeObject(_request)}");
            try
            {
                var response = repo.EVoucher.SubmitEVoucher(_request);
                if (response.StatusCode == 200)
                {
                    log.LogInformation($"{APIName}\r\n Submit Success ");
                    return(Ok(response));
                }
                else
                {
                    log.LogError($"{APIName}\r\nStautsCode:{response.StatusCode}\r\nErrorType:{response.ErrorType}" +
                                 $"\r\nErrorMsg:{response.ErrorMessage}");
                    return(StatusCode(response.StatusCode, response.GetError()));
                }
            }
            catch (Exception e)
            {
                log.LogError($"{APIName}\r\n{e}");
                return(StatusCode(500, new Error("internal-error", e.Message)));
            }
        }
コード例 #2
0
        private string ValidateSubmitEVoucher(SubmitEVoucherRequest _request)
        {
            string validationMsg = "";

            var isValidPaymentMethod = (from p in db_Evoucher.TblPaymentMethods
                                        where p.PaymentMethod == _request.PaymentMethod
                                        select true).FirstOrDefault();

            if (!isValidPaymentMethod)
            {
                validationMsg = "Invalid Payment Method.";
            }
            //var isValidBuyType = (from b in db_Evoucher.TblBuyTypes
            //                      where b.BuyType == _request.BuyType
            //                      select true).FirstOrDefault();
            //if (!isValidBuyType)
            //    validationMsg = $"{validationMsg} /r/n Invalid Buy Type.";

            //if(_request.Image)
            if (!ImageHelper.IsBase64(_request.Image))
            {
                validationMsg = $"{validationMsg} /r/n Invalid Image String.";
            }
            return(validationMsg);
        }
コード例 #3
0
        public SubmitEVoucherResponse SubmitEVoucher(SubmitEVoucherRequest _request)
        {
            SubmitEVoucherResponse response = new SubmitEVoucherResponse();

            _request.BuyType = "";
            if (_request.Image != "")
            {
                var rawBase64 = _request.Image.Split(',');
                if (rawBase64.Length >= 2)
                {
                    _request.Image = rawBase64[1];
                }
            }
            string validateMsg = ValidateSubmitEVoucher(_request);


            if (string.IsNullOrEmpty(validateMsg))
            {
                var savedImage = ImageHelper.SaveBase64AsFile(_request.Image);
                if (!string.IsNullOrEmpty(savedImage.ErrorStatus) || string.IsNullOrEmpty(savedImage.SaveFilePath))
                {
                    response.StatusCode   = 500;
                    response.ErrorType    = "filesave-error";
                    response.ErrorMessage = savedImage.ErrorStatus;
                    return(response);
                }

                if (string.IsNullOrEmpty(_request.VoucherNo))
                {
                    //New
                    var newResponse = NewEVoucher(_request, savedImage);
                    return(newResponse);
                }
                else
                {
                    //Update
                    var updateResponse = UpdateEVoucher(_request, savedImage);
                    return(updateResponse);
                }
            }
            else
            {
                response.StatusCode   = 400;
                response.ErrorType    = "validation-error";
                response.ErrorMessage = validateMsg;
            }

            return(response);
        }
コード例 #4
0
        public SubmitEVoucherResponse NewEVoucher(SubmitEVoucherRequest _request, SaveImageDTO savedImage)
        {
            SubmitEVoucherResponse response = new SubmitEVoucherResponse();
            var vList = (from v in db_Evoucher.TblEvouchers
                         select new
            {
                v.Id
            }
                         ).ToList();

            int maxNo = 1;

            if (vList != null && vList.Count > 0)
            {
                maxNo = vList.Max(x => x.Id);
                maxNo++;
            }

            TblEvoucher evoucher = new TblEvoucher
            {
                BuyType          = _request.BuyType,
                CreatedBy        = LoginInformation.UserName,
                CreatedOn        = DateTime.Now,
                Description      = _request.Description,
                ExpiryDate       = _request.ExpiryDate,
                GiftPerUserLimit = _request.GiftPerUserLimit,
                MaxLimit         = _request.MaxLimit,
                PaymentMethod    = _request.PaymentMethod,
                SellingDiscount  = _request.SellingDiscount ?? 0,
                SellingPrice     = _request.SellingPrice,
                Status           = _request.Status,
                VoucherAmount    = _request.VoucherAmount,
                Title            = _request.Title,
                VoucherNo        = "EV-" + maxNo.ToString().PadLeft(4, '0'),
                ImagePath        = savedImage.SaveFilePath,
                Quantity         = _request.Quantity
            };

            db_Evoucher.TblEvouchers.Add(evoucher);
            db_Evoucher.SaveChanges();
            response.EVoucherNo = evoucher.VoucherNo;
            return(response);
        }
コード例 #5
0
        public SubmitEVoucherResponse UpdateEVoucher(SubmitEVoucherRequest _request, SaveImageDTO savedImage)
        {
            SubmitEVoucherResponse response = new SubmitEVoucherResponse();
            var tblEvoucher = (from v in db_Evoucher.TblEvouchers
                               where v.VoucherNo == _request.VoucherNo
                               select v
                               ).FirstOrDefault();

            if (tblEvoucher == null)
            {
                response.StatusCode   = 404;
                response.ErrorType    = "Record-Not Found";
                response.ErrorMessage = "No Voucher Found.";
                return(response);
            }

            tblEvoucher.BuyType          = _request.BuyType;
            tblEvoucher.CreatedBy        = LoginInformation.UserName;
            tblEvoucher.CreatedOn        = DateTime.Now;
            tblEvoucher.Description      = _request.Description;
            tblEvoucher.ExpiryDate       = _request.ExpiryDate;
            tblEvoucher.GiftPerUserLimit = _request.GiftPerUserLimit;
            tblEvoucher.MaxLimit         = _request.MaxLimit;
            tblEvoucher.PaymentMethod    = _request.PaymentMethod;
            tblEvoucher.SellingDiscount  = _request.SellingDiscount ?? 0;
            tblEvoucher.SellingPrice     = _request.SellingPrice;
            tblEvoucher.Status           = _request.Status;
            tblEvoucher.VoucherAmount    = _request.VoucherAmount;
            tblEvoucher.Title            = _request.Title;
            tblEvoucher.ImagePath        = savedImage.SaveFilePath;
            tblEvoucher.Quantity         = _request.Quantity;

            db_Evoucher.SaveChanges();
            response.EVoucherNo = tblEvoucher.VoucherNo;

            return(response);
        }