public HttpResponseMessage PutNarudzbeStatus(int id, bool status = true)
        {
            HttpStatusCode response = KorpaHelper.ChangeStatus(id, status);

            if (response == HttpStatusCode.NotFound)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        public HttpResponseMessage GetKorpaById(int id)
        {
            KorpaModel response = KorpaHelper.GetKorpaById(id);

            if (response == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        public HttpResponseMessage DeleteNarudzbaItem(int KorpaId, int SalataId)
        {
            HttpStatusCode response = KorpaHelper.DeleteKorpaItem(KorpaId, SalataId);

            if (response == HttpStatusCode.NoContent)
            {
                return(Request.CreateResponse(HttpStatusCode.NoContent, "Trazena salata unutar korpe nije pronadjena"));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        public HttpResponseMessage GetNarucene(int?id, bool aktivne = true)
        {
            List <KorpaForDgRow> korpaModel = KorpaHelper.GetNaruzbe(id, aktivne);

            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            if (korpaModel.Count == 0)
            {
                return(Request.CreateResponse(HttpStatusCode.NoContent));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, korpaModel));
        }
        public IHttpActionResult GetAktivnaKorpa(int KorisnikId)
        {
            Korpa aktivnaKorpa = KorpaHelper.GetAktivnaByKorisnikId(KorisnikId);

            if (aktivnaKorpa == null)
            {
                return(NotFound());
            }

            List <KorpaForDgRow> listNarudzbe = KorpaHelper.GetNaruzbe(aktivnaKorpa.Id, aktivne: true);

            if (listNarudzbe.Count == 0)
            {
                return(NotFound());
            }

            #region
            // Ako napravimo da vraca posebno za klijenta a posebno za inace
            List <KorpaMobileVm> response = new List <KorpaMobileVm>();
            foreach (KorpaForDgRow item in listNarudzbe)
            {
                KorpaMobileVm tmp = new KorpaMobileVm();
                tmp.Sastojci = item.GlavniSastojak + ", " + item.SporedniSastojak + ", " + item.DresingSastojak;
                tmp.StavkaId = item.SalataId;
                tmp.KorpaId  = item.Id;
                tmp.Kolicina = item.Kolicina.ToString();
                tmp.Cijena   = item.CijenaSalate.ToString();

                response.Add(tmp);
            }

            if (response.Count <= 0)
            {
                return(NotFound());
            }

            #endregion
            return(Ok(response));
        }
        public HttpResponseMessage ZavrsiNarudzbu(IzdajRacunVm post)
        {
            HttpStatusCode response = KorpaHelper.IzdajRacun(post.KorpaId, post.KuponKod);
            List <string>  errors   = new List <string>();

            if (response == HttpStatusCode.Gone)
            {
                errors.Add("Nagradni kod je istekao!");
            }
            if (response == HttpStatusCode.Conflict)
            {
                errors.Add("Ne postoji nagradni kod ili je iskoristen!");
            }
            if (response == HttpStatusCode.NotFound)
            {
                errors.Add("Narudzba nije pronadjena");
            }
            if (errors.Count > 0)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, "Narudzba nije pronadjena"));
            }
            return(Request.CreateResponse(HttpStatusCode.OK));
        }
 public PrijavaController(IAuthApi authApi, KorpaHelper korpaHelper)
 {
     _authApi     = authApi;
     _korpaHelper = korpaHelper;
 }
Beispiel #8
0
 public KorpaStavkaController(IRestoranApi restoranApi, IMapper mapper, KorpaHelper korpaHelper)
 {
     _restoranApi = restoranApi;
     _mapper      = mapper;
     _korpaHelper = korpaHelper;
 }
Beispiel #9
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();

            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddScoped(sp => KorpaHelper.GetKorpa(sp));
            services.AddScoped <IAuthTokenStore, AuthTokenStore>();
            services.AddTransient <AuthHeaderHandler>();

            services.AddRefitClient <IAuthApi>()
            .ConfigureHttpClient(c => c.BaseAddress = new Uri(Configuration.GetSection("RestoranApi").Value));
            services.AddRefitClient <IRestoranApi>()
            .ConfigureHttpClient(c =>
            {
                c.BaseAddress = new Uri(Configuration.GetSection("RestoranApi").Value);
            })
            .AddHttpMessageHandler <AuthHeaderHandler>();



            // AutoMapper
            services.AddAutoMapper(typeof(Mappings.JeloProfile));
            services.AddAutoMapper(typeof(Mappings.KorisnikProfile));
            services.AddAutoMapper(typeof(Mappings.KorpaStavkaProfile));
            services.AddAutoMapper(typeof(Mappings.NamirnicaProfile));
            services.AddAutoMapper(typeof(Mappings.NarudzbaProfile));


            services.AddScoped <IKorpaHelper, KorpaHelper>();

            var jwtSettings = new JwtSettings();

            Configuration.Bind(nameof(jwtSettings), jwtSettings);
            services.AddSingleton(jwtSettings);

            var tokenValidationParameters = new TokenValidationParameters
            {
                ValidateIssuerSigningKey = true,
                IssuerSigningKey         = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtSettings.Secret)),
                ValidateIssuer           = false,
                ValidateAudience         = false,
                RequireExpirationTime    = false,
                ValidateLifetime         = true
            };

            services.AddSingleton(tokenValidationParameters);

            services.AddAuthentication(option =>
            {
                option.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                option.DefaultScheme             = JwtBearerDefaults.AuthenticationScheme;
                option.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(options =>
            {
                options.SaveToken = true;
                options.TokenValidationParameters = tokenValidationParameters;
            });



            services.AddAuthorization();
            services.AddMvc().AddSessionStateTempDataProvider();
            services.AddSession();
        }
 public NarudzbaController(IRestoranApi restoranApi, KorpaHelper korpaHelper)
 {
     _restoranApi = restoranApi;
     _korpaHelper = korpaHelper;
 }
        public IHttpActionResult DownloadPdf(int id)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                KorpaVm korpaVm = KorpaHelper.GetAllAboutKorpa(id, false, true);

                Document  doc        = new Document(PageSize.A4, 88f, 88f, 10f, 10f);
                Font      NormalFont = FontFactory.GetFont("Arial", 12, BaseColor.BLUE);
                PdfWriter writer     = PdfWriter.GetInstance(doc, ms);
                doc.Open();

                Paragraph header1 = new Paragraph("Express Salad Bar");
                header1.Alignment = Element.ALIGN_CENTER;
                doc.Add(header1);

                Paragraph header2 = new Paragraph("Racun za " + korpaVm.Korisnik.Ime + " " + korpaVm.Korisnik.Prezime);
                header2.Alignment = Element.ALIGN_CENTER;
                doc.Add(header2);

                doc.Add(new Paragraph("Vase narudzbe: "));

                PdfPTable table = new PdfPTable(5);
                table.TotalWidth = 400f;
                //fix the absolute width of the table
                table.LockedWidth = true;

                //relative col widths in proportions - 1/3 and 2/3
                float[] widths = new float[] { 5f, 5f, 5f, 5f, 5f };
                table.SetWidths(widths);
                table.HorizontalAlignment = 0;
                //leave a gap before and after the table
                table.SpacingBefore = 20f;
                table.SpacingAfter  = 30f;

                Font bold = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD);

                Phrase   headerGlavni   = new Phrase("Glavni sastojak", bold);
                Phrase   headerSporedni = new Phrase("Sporedni sastojci", bold);
                Phrase   headerDresing  = new Phrase("Dresing", bold);
                Phrase   headerKolicina = new Phrase("Kolicina", bold);
                Phrase   headerCijena   = new Phrase("Cijena salate", bold);
                PdfPCell cell1          = new PdfPCell(headerGlavni);
                PdfPCell cell2          = new PdfPCell(headerSporedni);
                PdfPCell cell3          = new PdfPCell(headerDresing);
                PdfPCell cell4          = new PdfPCell(headerKolicina);
                PdfPCell cell5          = new PdfPCell(headerCijena);

                table.AddCell(cell1);
                table.AddCell(cell2);
                table.AddCell(cell3);
                table.AddCell(cell4);
                table.AddCell(cell5);

                foreach (KorpaIndexRow item in korpaVm.ListSalate)
                {
                    table.AddCell(item.GlavniSastojak.Naziv + " (" + item.GlavniSastojak.Cijena + " KM)");

                    string sporedni       = "";
                    float  sporedniCijena = 0;
                    foreach (SastojciRow element in item.ListSastojciSporedni)
                    {
                        sporedni       += element.Naziv + ",";
                        sporedniCijena += element.Cijena;
                    }
                    table.AddCell(sporedni + " (" + sporedniCijena + " KM)");
                    table.AddCell(item.DresingSastojak.Naziv + " (" + item.DresingSastojak.Cijena + " KM)");
                    table.AddCell(item.Kolicina.ToString());
                    table.AddCell(item.CijenaSalate.ToString(CultureInfo.InvariantCulture));
                }
                doc.Add(table);

                Paragraph header4 = new Paragraph("Potpis konobara: ");
                header4.Alignment = Element.ALIGN_RIGHT;
                doc.Add(header4);

                Paragraph header5 = new Paragraph("_______________________");
                header5.Alignment = Element.ALIGN_RIGHT;
                doc.Add(header5);

                Paragraph header3 = new Paragraph("Hvala Vam najljepsa, dodjite nam!");
                header3.Alignment = Element.ALIGN_RIGHT;
                doc.Add(header3);

                doc.Close();
                byte[] bytes = ms.ToArray();
                ms.Close();

                // return File(bytes, "application/pdf", DateTime.Now.Second + ".pdf");

                var result = new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new ByteArrayContent(bytes)
                };
                result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment")
                {
                    FileName = DateTime.Now.Second + ".pdf"
                };
                result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");

                var response = ResponseMessage(result);

                return(response);
            }
        }