Example #1
0
        /// <summary>
        ///List halinde bir veya birden fazla Crew datası iletir.
        /// </summary>
        /// <param name="client"></param>
        private static void CrewData_Post(HttpClient client)
        {
            CrewData crewData = new CrewData()
            {
                Crew = new List <Crew> {
                    new Crew {
                        CrewId    = "000111", Airline = "SXS", Airport = "AYT",
                        FirstName = "SAM", LastName = "BROWN", Title = "SE",
                        StartDate = "2019-07-01Z", EndDate = "2019-08-01Z"
                    },
                    new Crew {
                        CrewId    = "000222", Airline = "SXS", Airport = "AYT",
                        FirstName = "JOHN", LastName = "WHITE", Title = "SE",
                        StartDate = "2019-07-01Z", EndDate = "2019-08-01Z"
                    },
                    new Crew {
                        CrewId    = "000333", Airline = "SXS", Airport = "AYT",
                        FirstName = "CHARLES", LastName = "BARKLEY", Title = "SE",
                        StartDate = "2019-07-01Z", EndDate = "2019-08-01Z"
                    },
                }
            };


            CrewDataRootObject root = new CrewDataRootObject();

            root.CrewData = crewData;


            ///StructureCheck
            string jsonContent = JsonConvert.SerializeObject(root);


            string apiQuery = ($"/api/CrewData/Post?user={username}&pass={password}");

            Uri url = new Uri(client.BaseAddress + apiQuery);


            var postTask = client.PostAsJsonAsync(url, root);

            postTask.Wait();

            var result = postTask.Result;

            var innerMsg = result.Content.ReadAsStringAsync().Result;

            Console.WriteLine($"{(Int32)result.StatusCode}, {result.ReasonPhrase},{innerMsg}");
        }
        public IHttpActionResult Post(CrewDataRootObject _model, string user, string pass)
        {
            if (!ApiSecurity.Login(user, pass))
            {
                return(Unauthorized());
            }

            try
            {
                using (SunExpressEntities context = new SunExpressEntities())
                {
                    var crewDataList = _model.CrewData.Crew;

                    if (crewDataList.Count > 0)
                    {
                        foreach (var flightCrew in crewDataList)
                        {
                            bool savedBefore = context.Crew.Any(x => x.CrewID.Equals(flightCrew.CrewId));

                            if (!savedBefore)
                            {
                                Orm.Crew newCrew = new Orm.Crew();
                                newCrew.CrewID    = flightCrew.CrewId;
                                newCrew.Airline   = flightCrew.Airline;
                                newCrew.Airport   = flightCrew.Airport;
                                newCrew.FirstName = flightCrew.FirstName;
                                newCrew.LastName  = flightCrew.LastName;
                                newCrew.Title     = flightCrew.Title;
                                newCrew.StartDate = DateToOLEFormat(flightCrew.StartDate);
                                newCrew.EndDate   = DateToOLEFormat(flightCrew.EndDate);

                                context.Crew.Add(newCrew);
                                context.SaveChanges();
                            }
                        }
                    }

                    return(Ok("Saved Succesfully"));
                }
            }
            catch (Exception)
            {
                return(BadRequest("Not Saved"));
            }
        }