Esempio n. 1
0
        public async Task <ActionResult <Cashback> > GetCashbackPoints(string cpf)
        {
            const string endpointName = nameof(GetCashbackPoints);
            string       header       = $"GET | {UserTokenOptions.GetClaimTypesNameValue(User.Identity)} | {controllerName}: {endpointName}";

            try
            {
                logger.LogInformation((int)LogEventEnum.Events.GetItem,
                                      $"{header} - {MessageLog.Start.Value}");

                Cashback cashback = await service.GetCashbackPoints(cpf, UserTokenOptions.GetClaimTypesNameValue(User.Identity));

                if (cashback is null)
                {
                    logger.LogWarning((int)LogEventEnum.Events.GetItem,
                                      $"{header} - {MessageError.NotFoundSingle.Value}");

                    return(NotFound(new { message = MessageError.NotFoundSingle.Value }));
                }

                logger.LogInformation((int)LogEventEnum.Events.GetItem,
                                      $"{header} - {MessageLog.Stop.Value}");

                return(Ok(cashback.Body));
            }
            catch (Exception ex)
            {
                logger.LogError((int)LogEventEnum.Events.GetItem, ex,
                                $"{header} - {MessageLog.Error.Value} | Exception: {ex.Message}");

                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  new { message = MessageError.InternalError.Value, error = ex.Message }));
            }
        }
Esempio n. 2
0
        public ActionResult Index()
        {
            List <Cashback> Cashbks = Cashback.GetAll(OrderType.CurrOrgId(), 1);

            Cashbks = Cashbks.FindAll(x => x.CampeignType == 1);
            return(View(Cashbks));
        }
Esempio n. 3
0
        public ActionResult ChangeSts(int CBID, int Sts)
        {
            Cashback cashback = Cashback.Getone(CBID);

            if (Sts == 1 && cashback.SeatingIds != "")
            {
                List <int> Seatings    = cashback.SeatingIds.Split(',').Select(int.Parse).ToList();
                List <int> RedSeatings = new List <int>();
                RedSeatings = Cashback.GetRedSeatings(cashback);
                int Cnt = 0;
                foreach (var SeatingId in Seatings)
                {
                    var seating = RedSeatings.Find(x => x == SeatingId);
                    if (seating > 0)
                    {
                        Cnt += 1;
                    }
                }
                if (Cnt > 0)
                {
                    return(Content("0"));
                }
            }
            cashback.CashBkStatus = Sts;
            cashback.Save();
            return(Content("1"));
        }
Esempio n. 4
0
        public ActionResult SaveCashBkSeating([System.Web.Http.FromBody] CashBkSeating cashBkseating)
        {
            Cashback cashback = Cashback.Getone(cashBkseating.CashBkId);

            if (cashback.CashBkId > 0)
            {
                string SeatingIds;
                if (cashBkseating.Seatings == null)
                {
                    SeatingIds = "";
                }
                else
                {
                    SeatingIds = String.Join(",", cashBkseating.Seatings);
                }
                cashback.SeatingIds = SeatingIds;
                cashback.Save();
            }
            else
            {
                return(Json(new { msg = "Could not Find CashBack " }));
            }

            return(Content("1"));
        }
Esempio n. 5
0
        public JObject SeatingList(int CBID, int Orgid = 0)
        {
            if (Orgid == 0)
            {
                Orgid = OrderType.CurrOrgId();
            }
            HG_OrganizationDetails orgobj = new HG_OrganizationDetails().GetOne(Orgid);
            int OrgType = orgobj.OrgTypes != null?int.Parse(orgobj.OrgTypes) : 1;

            Cashback cashback = Cashback.Getone(CBID);
            List <HG_Floor_or_ScreenMaster> floorOrScreens   = new HG_Floor_or_ScreenMaster().GetAll(OrgType);
            List <HG_Tables_or_Sheat>       tableOrSheatlist = new HG_Tables_or_Sheat().GetAll(OrgType);
            JObject    OrderMenus  = new JObject();
            List <int> Seatings    = new List <int>();
            List <int> RedSeatings = new List <int>();

            RedSeatings = Cashback.GetRedSeatings(cashback);
            if (cashback.SeatingIds != "")
            {
                Seatings = cashback.SeatingIds.Split(',').Select(int.Parse).ToList();
            }
            JArray jArray = new JArray();

            foreach (HG_Floor_or_ScreenMaster Floors in floorOrScreens)
            {
                JObject jObject = JObject.FromObject(Floors);
                jObject.Add("TableSheatList", JArray.FromObject(tableOrSheatlist.FindAll(x => x.Floor_or_ScreenId == Floors.Floor_or_ScreenID)));
                jArray.Add(jObject);
            }
            OrderMenus.Add("FloorList", jArray);
            OrderMenus.Add("ExistingSeatings", JArray.FromObject(Seatings));
            OrderMenus.Add("RedSeatings", JArray.FromObject(RedSeatings));
            return(OrderMenus);
        }
Esempio n. 6
0
        /////=============offer=====
        ///
        public ActionResult OfferIndex()
        {
            List <Cashback> Cashbks = Cashback.GetAll(OrderType.CurrOrgId(), 1);

            Cashbks = Cashbks.FindAll(x => x.CampeignType == 3);// only offer types
            return(View(Cashbks));
        }
Esempio n. 7
0
        public ActionResult ChangeTermSts(int CBID, int Sts)
        {
            Cashback cashback = Cashback.Getone(CBID);

            cashback.TerminateSts = Sts;
            cashback.Save();
            return(Content("1"));
        }
Esempio n. 8
0
        public ActionResult CreaEditOffr(int CBID)
        {
            Cashback cashback = new Cashback();

            if (CBID > 0)
            {
                cashback = Cashback.Getone(CBID);
            }
            cashback.CampeignType = 3;
            cashback.ValidTill    = 2;
            return(View(cashback));
        }
Esempio n. 9
0
        // GET: CashBack
        public ActionResult CUSTCashBack(int CBID)
        {
            Cashback cashback = new Cashback();

            cashback.CampeignType = 1;
            if (CBID > 0)
            {
                cashback = Cashback.Getone(CBID);
                if (cashback.ValidTill == 1)
                {
                    cashback.ValidTillDate = DateTime.Now;
                    cashback.ValidTillStr  = cashback.ValidTillDate.ToString("dd-MM-yyyy");
                }
            }

            return(View(cashback));
        }
Esempio n. 10
0
        private static List <Cashback> BuildListCashback()
        {
            var list = Cashback.ListEmpty();

            foreach (var itemGenero in Enumerators.GetEnumDescriptions(typeof(GeneroEnum)))
            {
                foreach (var itemDia in Enumerators.GetEnumDescriptions(typeof(DiaSemanaEnum)))
                {
                    var newObj = Cashback.BuildInitial((GeneroEnum)itemGenero.Key);

                    newObj.DiaSemanaId = (DiaSemanaEnum)itemDia.Key;
                    newObj.Percentual  = CashbackPercentual.Get(itemGenero.Key, itemDia.Key);

                    list.Add(newObj);
                }
            }

            return(list);
        }
Esempio n. 11
0
        public async Task <ActionResult <Compra> > PostCompra(Compra compra)
        {
            Revendedor revendedor = _context.Revendedores.Where(r => r.cpf.Equals(compra.cpf)).FirstOrDefault();



            if (compra.cpf.Equals("153.509.460-56"))
            {
                compra.status = "Aprovado";
            }

            compra.cashbackPorcentagem = Cashback.getPercentual(compra.valor).ToString("P", CultureInfo.InvariantCulture);
            compra.cashbackValor       = Cashback.getValor(compra.valor);

            _context.Compras.Add(compra);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCompra", new { id = compra.id }, compra));
        }
Esempio n. 12
0
        public async Task <Cashback> GetCashbackPoints(string cpf, string usuario)
        {
            const string methodName = nameof(GetCashbackPoints);
            string       header     = $"METHOD | {usuario} | {serviceName}: {methodName}";

            try
            {
                logger.LogInformation((int)LogEventEnum.Events.GetItem,
                                      $"{header} - {MessageLog.Getting.Value}");

                Cashback result = await BoticarioConnection.Connect <Cashback>($"?cpf={cpf}");

                logger.LogInformation((int)LogEventEnum.Events.GetItem,
                                      $"{header} - {MessageLog.Getted.Value} - Credit: {result.Body.Credit}");

                return(result);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 13
0
        public async Task <IActionResult> PostAsync([FromBody] NewVendaDTO newVenda)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var venda = _mapper.Map <NewVendaDTO, Venda>(newVenda);

            Cashback cashback      = new Cashback();
            decimal  totalCashback = 0;
            decimal  totalVenda    = 0;

            for (int i = 0; i < venda.Produtos.Count; i++)
            {
                var produtoExistente = await _context.Discos.FindAsync(venda.Produtos[i].Id_Disco);

                if (produtoExistente == null)
                {
                    return(BadRequest());
                }
                venda.Produtos[i].Preco    = produtoExistente.Preco;
                venda.Produtos[i].Cashback = cashback.valorCashback(produtoExistente.Preco, produtoExistente.Genero, venda.Data);
                totalVenda    += venda.Produtos[i].Preco;
                totalCashback += venda.Produtos[i].Cashback;
            }
            venda.Vl_Total         = totalVenda;
            venda.Vl_TotalCashback = totalCashback;

            _context.Vendas.Add(venda);

            var result = _context.SaveChanges();

            //var newVendaDTO = _mapper.Map<Venda, NewVendaDTO>(venda);
            //return Ok(newVendaDTO);
            return(Ok(venda));
        }
Esempio n. 14
0
        public ActionResult PostCasbBack(Cashback cashback)
        {
            int      OrgId     = OrderType.CurrOrgId();
            Cashback OldCashBk = new Cashback();

            try
            {
                cashback.StartDate     = DateTime.ParseExact(cashback.StrStartDate, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);
                cashback.ValidTillDate = DateTime.ParseExact(cashback.ValidTillStr, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);
                if (cashback.ValidTill == 1)
                {
                    cashback.ValidTillDate = cashback.StartDate.AddYears(20);
                }
                if (cashback.CashBkId == 0 && cashback.StartDate.Date < DateTime.Now.Date)
                {
                    return(Json(new { msg = "Start Date Can't less than Today's Date" }));
                }
                if (cashback.StartDate.Date > cashback.ValidTillDate.Date)
                {
                    return(Json(new { msg = "Start Date Can't Greater than ValidTillDate Date" }));
                }
                else if (cashback.CashBkId > 0)
                {
                    OldCashBk = Cashback.Getone(cashback.CashBkId);
                    if (OldCashBk.StartDate.Date <= DateTime.Now.Date && OldCashBk.StartDate.Date != cashback.StartDate.Date)
                    {
                        return(Json(new { msg = "Can't Modify Start Date" }));
                    }
                    if (OldCashBk.StartDate.Date <= DateTime.Now.Date && OldCashBk.StartDate.Date >= cashback.StartDate.Date && OldCashBk.StartDate.Date != cashback.StartDate.Date)
                    {
                        return(Json(new { msg = "Can't Modify Start Date" }));
                    }
                    if (OldCashBk.StartDate.Date > DateTime.Now.Date && cashback.StartDate.Date < DateTime.Now.Date)
                    {
                        return(Json(new { msg = "Can't Modify Start Date" }));
                    }
                }
                if (cashback.RaiseDynamic == false && cashback.BilAmt > 0 && cashback.MaxCBLimit == 2)//limited amt conditions
                {
                    double MaxCashBackAmt = (cashback.Percentage * cashback.BilAmt * 2) / 100;
                    if (cashback.MaxAmt < MaxCashBackAmt)
                    {
                        return(Json(new { msg = "Max CashBack Amt should be " + MaxCashBackAmt.ToString("0.00") + " greather than Minimun Bill Amt Of " + cashback.Percentage + " %" }));
                    }
                }
                if (cashback.CashBkId == 0)
                {
                    cashback.OrgID        = OrgId;
                    cashback.CashBkStatus = 1;
                    cashback.TerminateSts = 1;
                    cashback.SeatingIds   = "";
                    var value = DateTime.Now.ToString("ddMMyyyyHHmmss");
                    cashback.CBUniqId = Int64.Parse(value);
                }
                if (OldCashBk.CashBkId > 0 && OldCashBk.CashBkStatus == 1 && OldCashBk.SeatingIds != "")
                {
                    List <int> Seatings    = cashback.SeatingIds.Split(',').Select(int.Parse).ToList();
                    List <int> RedSeatings = Cashback.GetRedSeatings(cashback);
                    int        Cnt         = 0;
                    foreach (var SeatingId in Seatings)
                    {
                        var seating = RedSeatings.Find(x => x == SeatingId);
                        if (seating > 0)
                        {
                            Cnt += 1;
                        }
                    }
                    if (Cnt > 0)
                    {
                        return(Json(new { msg = "Another mutual campaign applied on specified table(s)" }));
                    }
                }
                if (cashback.SeatingIds == null)
                {
                    cashback.SeatingIds = "";
                }
                cashback.Save();
                JObject response = new JObject();
                response.Add("CashBkId", cashback.CashBkId);
                response.Add("StartDate", cashback.StartDate.ToString("dd-MM-yyyy"));
                response.Add("EndDate", cashback.ValidTillDate.ToString("dd-MM-yyyy"));
                response.Add("TerminateStsID", cashback.TerminateSts);
                response.Add("TStatus", TerminatSts(cashback.TerminateSts));
                response.Add("CBSts", CBSts(cashback.CashBkStatus));
                response.Add("CBStsID", cashback.TerminateSts);
                response.Add("UID", cashback.CBUniqId);
                response.Add("OfferType", cashback.OfferType);
                return(Json(new { data = response.ToString() }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { msg = e.Message }));
            }
        }