// Edit a product
        public void Edit(Product product)
        {
            try {
                // Search product by id
                Product productTemp = SearchById(product.Id);

                // Check if product exists
                // If it doesn't exist, generate an exception
                if (productTemp == null)
                {
                    throw new Exception("Produto não encontrado");
                }

                //If it exists, change its properties
                productTemp.Name  = product.Name;
                productTemp.Price = product.Price;

                // Change product in context
                _ctx.Products.Update(productTemp);
                // Save the context
                _ctx.SaveChanges();
            }
            catch (Exception ex) {
                throw new Exception(ex.Message);
            }
        }
Example #2
0
        public ActionResult Post([FromBody] Request request)
        {
            Request requestToAdd = request;
            int     idToAdd      = (from n in requestContext.Requests orderby n.Id descending select n.Id).FirstOrDefault();

            requestToAdd.Id = idToAdd + 1;
            requestContext.Requests.Add(requestToAdd);
            requestContext.SaveChanges();
            return(Ok());
        }
Example #3
0
        public ActionResult Create([Bind(Include = "ID,FirstName,LastName,PhoneNumber,ApartmentName,UnitNumber,Description,Permission")] RequestForm requestForm)
        {
            if (ModelState.IsValid)
            {
                db.request.Add(requestForm);
                db.SaveChanges();
                return(RedirectToAction("ThanksPage"));
            }

            return(View(requestForm));
        }
Example #4
0
        public ActionResult Create([Bind(Include = "ID,FirstName,LastName,PhoneNum,AptName,Unit,Expl")] Request request)
        {
            if (ModelState.IsValid)
            {
                db.Requests.Add(request);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(request));
        }
Example #5
0
        public ActionResult Create([Bind(Include = "ID,FirstName,LastName,PhoneNumber,ApptName,UnitNumber, Explanation, Permission")] Request request)
        {
            try
            {
                db.Requests.Add(request);
                db.SaveChanges();

                return(RedirectToAction("Index", "Home/Index"));
            }
            catch
            {
                return(View(request));
            }
        }
Example #6
0
        // GET: Translate
        public JsonResult TransLang(string id)
        {
            string api    = "http://api.giphy.com/v1/stickers/translate?";
            string apikey = "&api_key=" + System.Web.Configuration.WebConfigurationManager.AppSettings["CS460ApiKey"];
            string query  = "&s=" + id;
            string url    = api + apikey + query;

            //var giphyData = new WebClient().DownloadString(url);

            // same result but transfer to json format
            Stream giphyStream = WebRequest.Create(url).GetResponse().GetResponseStream();


            var giphyData = new System.Web.Script.Serialization.JavaScriptSerializer()
                            .Deserialize <Object>(new StreamReader(giphyStream)
                                                  .ReadToEnd());



            // working on database
            // the request can help a lot, use a object based on model
            Request item = new Request();

            item.IPAddress   = Request.UserHostAddress;
            item.Description = id;
            item.Type        = Request.UserAgent;
            database.Requests.Add(item);
            database.SaveChanges();

            //giphyStream.Close();

            return(Json(giphyData, JsonRequestBehavior.AllowGet));
        }
Example #7
0
        public static void AddDepartments(RequestContext context)
        {
            var departments = new List <Departments>
            {
                new Departments {
                    Department = "IT"
                },
                new Departments {
                    Department = "Sales"
                },
                new Departments {
                    Department = "Marketing"
                },
                new Departments {
                    Department = "Human Resources"
                },
                new Departments {
                    Department = "Customer Service"
                },
                new Departments {
                    Department = "Office Management"
                },
                new Departments {
                    Department = "Finance"
                },
            };

            foreach (var department in departments)
            {
                context.Departments.Add(department);
            }

            context.SaveChanges();
        }
Example #8
0
 public IActionResult Create([FromBody] Node node)
 {
     // var options = new DbContextOptionsBuilder<MemoryContext>()
     //     .UseInMemoryDatabase(databaseName: "meorydb")
     //     .Options;
     // using (_context = new MemoryContext(options))
     // {
     //     _context.Nodes.Add(node);
     //     _context.SaveChanges();
     // }
     if (node is null)
     {
         return(NotFound());
     }
     _context.Add(node);
     _context.SaveChanges();
     return(Ok(node));
 }
Example #9
0
        /*
         * IP Address of client should be logged into the database
         * with date/time of the request
         */
        public void LogRequest(string ip)
        {
            var request = new Request {
                IpAddress = ip, RequestDateTime = DateTime.Now
            };

            _context.Request.Add(request);
            _context.SaveChanges();
        }
Example #10
0
        public void Can_Get_Orders_Price_Range()
        {
            //preparation - create new dbcontext with in-memory db
            using (var context = new RequestContext(CreateNewContextOptions()))
            {
                Request request = new Request
                {
                    Id        = 1111,
                    Price     = 10,
                    Quantity  = 1,
                    RequestId = 1,
                    ClientId  = 111,
                    Name      = "product1"
                };

                Order order = new Order
                {
                    OrderId   = 1,
                    ClientId  = request.ClientId,
                    RequestId = request.RequestId,
                    Amount    = request.Price * request.Quantity
                };
                Order order2 = new Order
                {
                    OrderId   = 2,
                    ClientId  = 3,
                    RequestId = 3,
                    Amount    = 71
                };
                Order order3 = new Order
                {
                    OrderId   = 3,
                    ClientId  = 3,
                    RequestId = 1,
                    Amount    = 70
                };
                request.Order = order;

                //adding order to db
                context.Requests.Add(request);
                context.Orders.Add(order);
                context.Orders.Add(order2);
                context.Orders.Add(order3);


                context.SaveChanges();

                var          service = new OrderService(context);
                List <Order> orders  = service.OrdersPriceRange(0, 70).OrdersList;

                //assert - is quantity of price range orders equal 1
                Assert.AreEqual(2, orders.Count);
                //assert - check correct of insert data
                Assert.AreEqual(1, orders[0].OrderId);
                Assert.AreEqual(3, orders[1].OrderId);
            }
        }
Example #11
0
 public ActionResult Create(Request request)
 {
     if (ModelState.IsValid)
     {
         db.Requests.Add(request);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(request));
 }
 public ActionResult Create([Bind(Include = "ID,FirstName,LastName,DOB,PhoneNumber,CatalogYear,VNumber,Email,Major,Minor,Advisor")] Request request)
 {
     if (ModelState.IsValid)
     {
         db.Requests.Add(request);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(request));
 }
Example #13
0
        public ActionResult RequestForm([Bind(Include = "ID, FirstName, LastName, PhoneNumber, ApartmentName, UnitNumber, Explanation, ")] Request request)
        {
            if (ModelState.IsValid)
            {
                db.Requests.Add(request);
                db.SaveChanges();
                return(RedirectToAction("ViewRequests"));
            }

            return(View(request));
        }
Example #14
0
        public ActionResult Create([Bind(Include = "TimeOfRequest,FirstName,LastName,PhoneNumber,ApartmentName,UnitNumber,MaintenanceRequired,Permission")] Request request)
        {
            if (ModelState.IsValid)
            {
                db.Requests.Add(request);
                db.SaveChanges();
                return(RedirectToAction("ThankYou"));
            }

            return(View(request));
        }
Example #15
0
        public ActionResult Create([Bind(Include = "Id,Title,Caption")] Request request)
        {
            request.StatusId = 1;
            request.Date     = DateTime.Now;
            if (ModelState.IsValid)
            {
                request = db.Requests.Add(request);
                var movement = new RequestMovement();
                movement.Comment     = "Создана заявка";
                movement.Date        = DateTime.Now;
                movement.NewStatusId = 1;
                movement.OldStatusId = 1;
                movement.RequestId   = request.Id;
                db.RequestMovements.Add(movement);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(request));
        }
        public ActionResult DeleteRequest(int request_id)
        {
            using(RequestContext context = new RequestContext())
            {
                context.Requests.Remove(context.Requests.Where(x=>x.ID==request_id).FirstOrDefault());
                context.SaveChanges();
            }

            if (User.IsInRole("admin"))
            {
                 return  GetAllRequests(null);
            }
            return  GetRequestsById(null);
        }
        public IActionResult Add(AddRequestModel model)
        {
            var request = new Request
            {
                OrderId   = model.OrderId,
                AccountId = accountContext.findIdByLogin(User.Identity.Name),
                Text      = model.Text,
                Date      = model.Date
            };

            requestContext.Add(request);
            requestContext.SaveChanges();
            return(RedirectToAction("Success", "Request"));
        }
Example #18
0
        public ActionResult Create([Bind(Include = "Id,OldStatusId,NewStatusId,RequestId,Comment")] RequestMovement requestMovement, int id)
        {
            requestMovement.OldStatusId   = db.Requests.Find(id).StatusId;
            db.Requests.Find(id).StatusId = requestMovement.NewStatusId;
            requestMovement.RequestId     = id;
            if (ModelState.IsValid)
            {
                requestMovement.Date = DateTime.Now;
                db.RequestMovements.Add(requestMovement);
                db.SaveChanges();
                return(RedirectToAction("Index/" + id.ToString()));
            }

            return(View(requestMovement));
        }
Example #19
0
 public ActionResult Create(Request request)
 {
     try
     {
         using (var db = new RequestContext())
         {
             request.CreateDate = DateTime.Now;
             db.Requests.Add(request);
             db.SaveChanges();
         }
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View(request));
     }
 }
Example #20
0
        public ActionResult Index()
        {
            rqInfo.RequestInformationType = Request.HttpMethod;

            try
            {
                rqInfo.RequestInformationUrl = Request.UrlReferrer.ToString();
            }
            catch
            {
                rqInfo.RequestInformationUrl = "First application start";
            }

            rqInfo.RequestInformationIp = Request.UserHostAddress;
            // Write request info to DB
            rq.RequestInformation.Add(rqInfo);
            rq.SaveChanges();

            // If form request type like'GET' we can get parametrs from QueryString

            if (Request.QueryString["name"] != null)
            {
                mhInfo.MovieHouseName      = Request.QueryString["name"];
                mhInfo.MovieHouseTelephone = Request.QueryString["telephone"];
                mhInfo.MovieHouseAdress    = Request.QueryString["adress"];
                mhInfo.MovieHouseId        = 0;

                // Write movie house info to DB
                rq.MovieHouses.Add(mhInfo);
                rq.SaveChanges();
                ViewBag.Additional = "with new one";
            }



            // Write request info to file
            Write(rqInfo);

            ViewBag.Type     = "GET method";
            ViewBag.Response = "home page and list of movie houses ";
            // ViewBag.Additional = "with new one";
            return(View(rq.MovieHouses.ToList()));
        }
        public JsonResult Sentence(string gifInput)
        {
            string gifKey = System.Configuration.ConfigurationManager.AppSettings["GKey"];

            string gifRequest = "https://api.giphy.com/v1/stickers/translate?api_key=" + gifKey + "&s=" + gifInput;

            Debug.WriteLine(gifRequest);
            var req = WebRequest.Create(gifRequest);

            req.ContentType = "aaplication/json; charset=utf-8";
            var res = (HttpWebResponse)req.GetResponse();

            string content;

            using (var stream = new StreamReader(res.GetResponseStream()))
            {
                content = stream.ReadToEnd();
                stream.Close();
            }


            string data = JObject.Parse(content)["data"].ToString();
            string url  = JObject.Parse(data)["embed_url"].ToString();

            var gifSticker = new { embed_url = url };


            var ip      = Request.UserHostAddress;
            var browser = Request.Browser.Type;

            var model = new Models.Request
            {
                IPAddress     = ip,
                Browser       = browser,
                DateRequested = DateTime.Now,
                RequestType   = gifInput
            };

            requestContext.Requests.Add(model);
            requestContext.SaveChanges();

            return(Json(gifSticker, JsonRequestBehavior.AllowGet));
        }
 public ActionResult EditRequest(Request request)
 {
     var search_id = request.ID;
     using (RequestContext context = new RequestContext())
     {
         Request search_request = context.Requests.Where(x => x.ID == search_id).FirstOrDefault();
         search_request.Category = request.Category;
         search_request.ShortDescription = request.ShortDescription;
         search_request.DetailsDescription = request.DetailsDescription;
         search_request.IsWarranty = request.IsWarranty;
         search_request.ManufacturingFirm = request.ManufacturingFirm;
         search_request.ContactData = request.ContactData;
         context.SaveChanges();
     }
     if (User.IsInRole("admin"))
     {
         return GetAllRequests(null);
     }
     return GetRequestsById(null);
 }
Example #23
0
        public void Can_Get_All_Orders()
        {
            //preparation - create new dbcontext with in-memory db
            using (var context = new RequestContext(CreateNewContextOptions()))
            {
                Request request = new Request
                {
                    Id        = 1111,
                    Price     = 10,
                    Quantity  = 1,
                    RequestId = 1,
                    ClientId  = 111,
                    Name      = "product1"
                };

                DAL.Entities.Order order = new DAL.Entities.Order
                {
                    OrderId   = 1,
                    ClientId  = request.ClientId,
                    RequestId = request.RequestId,
                    Amount    = request.Price * request.Quantity
                };

                request.Order = order;

                //adding order to db
                context.Requests.Add(request);
                context.Orders.Add(order);

                context.SaveChanges();

                var          service = new OrderService(context);
                List <Order> orders  = service.GetAllOrders().OrdersList;

                //assert - is quantity of orders equal 1
                Assert.AreEqual(1, orders.Count);
                //assert - check correct of insert data
                Assert.AreEqual(111, orders[0].ClientId);
            }
        }
Example #24
0
        public void SisTestRing()
        {
            var form = new Form1();

            form.button1_Click_1(null, null);
            var form2 = new Form2();

            form2.textBox2.Text        = "TESTsis";
            form2.richTextBox1.Text    = "заявка_заявка_заявка";
            form2.maskedTextBox1.Text  = "5555555555";
            form2.radioButton1.Checked = true;
            form2.button1_Click(null, null);
            form2.Close();
            using (RequestContext db = new RequestContext())
            {
                var blog = db.Requests
                           .Where(b => b.Name == "TESTsis")
                           .FirstOrDefault();
                Assert.AreEqual("TESTsis", blog.Name);
                db.Requests.Remove(blog);
                db.SaveChanges();
            }
        }
Example #25
0
        public void TestPutMessege()
        {
            WorkBD.putMessege("Иванов Иван Иванович", "UzverPC", "4815162342", "stNum", "Есть проблема");

            using (RequestContext db = new RequestContext())
            {
                var blog = db.Requests
                           .Where(b => b.Name == "Иванов Иван Иванович")
                           .FirstOrDefault();
                Assert.AreEqual("Иванов Иван Иванович", blog.Name);
                db.Requests.Remove(blog);
                db.SaveChanges();



                //  db.Requests.Find("Иванов Иван Иванович");
                // Пытаемся присоединиться к БД.
                // Assert, если не получилось установить соединение.
                // Извлекаем из БД запись.
                // Assert, если записи нет или она отличается от той, что тут уже есть.
                // Удаление этой записи из БД (мы же не хотим 100500 тестовых примеров через пару месяцев разработки).
            }
        }
Example #26
0
 public void Save()
 {
     context.SaveChanges();
 }
Example #27
0
        public bool LoadToDb(IFormFile file)
        {
            //convert csv to list of requests
            using (var reader = new StreamReader(file.OpenReadStream()))
                using (var csv = new CsvReader(reader))
                {
                    csv.Configuration.Delimiter = ",";

                    List <RequestCsv> records = null;

                    try
                    {
                        records = csv.GetRecords <RequestCsv>().ToList();
                    }
                    catch (HeaderValidationException exception)
                    {
                        Debug.WriteLine(exception.Message);
                        return(false);
                    }
                    catch (Exception exception)
                    {
                        Debug.WriteLine(exception.Message);
                        return(false);
                    }

                    //add converted requests to database
                    if (records != null)
                    {
                        foreach (var rq in records)
                        {
                            Request request = new Request
                            {
                                ClientId  = int.Parse(rq.Client_Id),
                                Name      = rq.Name,
                                Price     = Double.Parse(rq.Price, CultureInfo.InvariantCulture),
                                Quantity  = int.Parse(rq.Quantity),
                                RequestId = long.Parse(rq.Request_id, CultureInfo.InvariantCulture)
                            };

                            var order = _context.Orders.Where(m => m.ClientId == request.ClientId &&
                                                              m.RequestId == request.RequestId);

                            if (order.Count() != 0)
                            {
                                request.Order = order.First();
                                order.First().Amount += request.Price * request.Quantity;
                            }
                            else
                            {
                                var newOrder = new Order
                                {
                                    ClientId  = request.ClientId,
                                    RequestId = request.RequestId,
                                    Amount    = request.Price * request.Quantity
                                };
                                _context.Orders.Add(newOrder);
                                _context.SaveChanges();
                                request.Order = newOrder;
                            }

                            _context.Requests.Add(request);
                            _context.SaveChanges();
                        }
                        return(true);
                    }

                    return(false);
                }
        }
Example #28
0
        public void Can_Get_Client_Orders()
        {
            //create db context
            using (var context = new RequestContext(CreateNewContextOptions()))
            {
                //create requests to add to db
                Request request1 = new Request
                {
                    Id        = 2222,
                    Price     = 10,
                    Quantity  = 1,
                    RequestId = 1,
                    ClientId  = 1,
                    Name      = "product1"
                };
                Request request2 = new Request
                {
                    Id        = 3333,
                    Price     = 10,
                    Quantity  = 1,
                    RequestId = 1,
                    ClientId  = 22,
                    Name      = "product2"
                };
                Request request3 = new Request
                {
                    Id        = 3334,
                    Price     = 20,
                    Quantity  = 12,
                    RequestId = 1,
                    ClientId  = 22,
                    Name      = "product3"
                };

                //create orders to add to db
                Order order1 = new Order
                {
                    OrderId   = 1,
                    ClientId  = request1.ClientId,
                    RequestId = request1.RequestId,
                    Amount    = request1.Price * request1.Quantity
                };
                Order order2 = new Order
                {
                    OrderId   = 2,
                    ClientId  = request2.ClientId,
                    RequestId = request2.RequestId,
                    Amount    = request2.Price * request2.Quantity
                };

                //assignment orders to requests
                request1.Order = order1;
                request2.Order = order2;
                request3.Order = order2;

                //add requests and orders to database
                context.Requests.Add(request1);
                context.Requests.Add(request2);
                context.Requests.Add(request3);
                context.Orders.Add(order1);
                context.Orders.Add(order2);

                context.SaveChanges();

                //create tested service
                var          service = new OrderService(context);
                List <Order> orders  = service.GetOrdersByClient(22).OrdersList;

                //assert - is number of client orders equal 1
                Assert.AreEqual(1, orders.Count);
                //assert - check valid of retrieved data
                Assert.AreEqual("product2", orders[0].Requests[0].Name);
            }
        }
Example #29
0
        public void Can_Get_Nr_Of_Product_Orders()
        {
            //create db context
            using (var context = new RequestContext(CreateNewContextOptions()))
            {
                //create requests to add to db
                Request request1 = new Request
                {
                    Id        = 2222,
                    Price     = 10,
                    Quantity  = 1,
                    RequestId = 1,
                    ClientId  = 1,
                    Name      = "product1"
                };
                Request request2 = new Request
                {
                    Id        = 3333,
                    Price     = 10,
                    Quantity  = 1,
                    RequestId = 2,
                    ClientId  = 22,
                    Name      = "product2"
                };
                Request request3 = new Request
                {
                    Id        = 3334,
                    Price     = 20,
                    Quantity  = 12,
                    RequestId = 1,
                    ClientId  = 22,
                    Name      = "product3"
                };

                //create orders to add to db
                Order order1 = new Order
                {
                    OrderId   = 1,
                    ClientId  = request1.ClientId,
                    RequestId = request1.RequestId,
                    Amount    = request1.Price * request1.Quantity
                };
                Order order2 = new Order
                {
                    OrderId   = 2,
                    ClientId  = request2.ClientId,
                    RequestId = request2.RequestId,
                    Amount    = request2.Price * request2.Quantity
                };
                Order order3 = new Order
                {
                    OrderId   = 3,
                    ClientId  = request3.ClientId,
                    RequestId = request3.RequestId,
                    Amount    = request3.Price * request3.Quantity
                };


                //assignment orders to requests
                request1.Order = order1;
                request2.Order = order2;
                request3.Order = order3;

                //add requests and orders to database
                context.Requests.Add(request1);
                context.Requests.Add(request2);
                context.Requests.Add(request3);
                context.Orders.Add(order1);
                context.Orders.Add(order2);
                context.Orders.Add(order3);

                context.SaveChanges();

                //create tested service
                var service = new ProductService(context);

                //action - call tested method
                ProductDTO ordersQuantity = service.GetProductsNumberOfOrders();

                //assert - is number of products equal 3
                Assert.AreEqual(3, ordersQuantity.ProductOrders.Count);
            }
        }
Example #30
0
 public void SaveChanges()
 {
     _requestContext.SaveChanges();
 }
        public ActionResult Index(Request responseModel)
        {
            double processDays = 1;
            using (RequestContext context = new RequestContext())
            {
                Request new_request = new Request
                {
                    Category = responseModel.Category,
                    ShortDescription = responseModel.ShortDescription,
                    DetailsDescription = responseModel.DetailsDescription,
                    IsWarranty = responseModel.IsWarranty,
                    ManufacturingFirm = responseModel.ManufacturingFirm,
                    ContactData = responseModel.ContactData,
                    InitialDate = DateTime.Now,
                    DeadlineRequest = DateTime.Now.AddDays(processDays),
                    State = "Новая",
                    MasterID = 1,
                    ClientID = User.Identity.GetUserId()
                };

                context.Requests.Add(new_request);
                context.SaveChanges();
            }
            if (User.IsInRole("admin"))
            {
                return GetAllRequests(null);
            }
            return GetRequestsById(null);
        }
Example #32
0
        private RequestContext db = new RequestContext(); // brings in dbcontext

        // GET: Search
        // Gets the API Key and sets up a URL for a request to the other server (GIPHY), reads the response and
        // deserializes it to pass it back to javascript to display on the client. Also logs request info in db.
        // param termstring: the search terms
        // param topResult: if the user only wants the top result
        // param rating: the rating the user is requesting (default currently set to Y)
        // return JSON object
        public ActionResult Index(string termString, string topResult, string rating)
        {
            // get the api key from a file outside the repo
            string apiKey = System.Web.Configuration.WebConfigurationManager.AppSettings["GiphyAPIKey"];

            // Debug to Debugger output to confirm things are working
            Debug.WriteLine("API key = " + apiKey);
            Debug.WriteLine("termString = " + termString);
            Debug.WriteLine("topResult = " + topResult);
            Debug.WriteLine("rating = " + rating);

            // If topResult isn't checked, limit to 18 results for better appearance
            if (topResult == "")
            {
                topResult = "&limit=18";
            }

            var ratingString = "&rating=" + rating;

            // build the requestURL
            var requestURL = "http://api.giphy.com/v1/gifs/search?q=" + termString + topResult + ratingString + "&api_key=" + apiKey;

            Debug.WriteLine("requestURL = " + requestURL);

            // build a WebRequest
            WebRequest request = WebRequest.Create(requestURL);

            // get the response from the WebRequest via the passed URL
            WebResponse response = request.GetResponse();

            // build a Stream AND get the Stream Response
            Stream dataStream = response.GetResponseStream();

            //StreamReader reader = new StreamReader(dataStream);
            StreamReader reader = new StreamReader(response.GetResponseStream());

            // Read the content.
            string responseFromServer = reader.ReadToEnd();

            // Display the content.
            Debug.WriteLine(responseFromServer);

            // Clean up the streams and the response.
            reader.Close();
            response.Close();

            // Create a JObject, using Newtonsoft NuGet package
            JObject json = JObject.Parse(responseFromServer);

            Debug.WriteLine(json);

            // Create a serializer to deserialize the string response (string in JSON format)
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            // Store JSON results in results to be passed back to client (javascript)
            var results = serializer.DeserializeObject(responseFromServer);

            // get userIP and userAgent for tracking purposes
            string userIP    = Request.UserHostAddress;
            string userAgent = Request.UserAgent;

            Debug.WriteLine(userIP);
            Debug.WriteLine(userAgent);

            // build new Request to enter into db
            Request userInfo = db.Requests.Create();

            // add all the attributes of a user request to add it to the db
            userInfo.RequestDate   = DateTime.Now;
            userInfo.RequestString = termString;
            userInfo.Rating        = rating;
            userInfo.UserIP        = userIP;
            userInfo.UserAgent     = userAgent;

            // sets empty string or null to ---, allows save to database of emptry string
            if (userInfo.RequestString == null || userInfo.RequestString == "")
            {
                userInfo.RequestString = "---";
            }

            // add to and save the db
            db.Requests.Add(userInfo);
            db.SaveChanges();

            // return the Json object
            return(Json(results, JsonRequestBehavior.AllowGet));
        }
Example #33
0
        public bool LoadToDb(IFormFile file)
        {
            //RequestRepository repository = new RequestRepository(_context);
            OrderService orderService = new OrderService(_context);

            var result = string.Empty;

            //read json file to string
            using (var reader = new StreamReader(file.OpenReadStream()))
            {
                result = reader.ReadToEnd();
            }

            RequestsJson rqst;

            //convert json to list of requests
            try
            {
                rqst = JsonConvert.DeserializeObject <RequestsJson>(result);
            }
            catch (JsonReaderException exception)
            {
                Debug.WriteLine(exception.Message);
                return(false);
            }

            if (rqst != null && rqst.Requests != null)
            {
                foreach (RequestJson rq in rqst.Requests)
                {
                    Request request = new Request
                    {
                        ClientId  = int.Parse(rq.ClientId ?? ""),
                        Name      = rq.Name ?? "",
                        Price     = Double.Parse(rq.Price ?? "", CultureInfo.InvariantCulture),
                        Quantity  = int.Parse(rq.Quantity ?? ""),
                        RequestId = long.Parse(rq.RequestId ?? "", CultureInfo.InvariantCulture)
                    };

                    var order = _context.Orders.Where(m => m.ClientId == request.ClientId &&
                                                      m.RequestId == request.RequestId);

                    if (order.Count() != 0)
                    {
                        request.Order = order.First();
                        order.First().Amount += request.Price * request.Quantity;
                    }
                    else
                    {
                        Order newOrder = new Order
                        {
                            ClientId  = request.ClientId,
                            RequestId = request.RequestId,
                            Amount    = request.Price * request.Quantity
                        };
                        _context.Add(newOrder);

                        request.Order = newOrder;
                    }

                    _context.Requests.Add(request);
                    _context.SaveChanges();
                }
                return(true);
            }

            return(false);
        }