public ReturnError InsertPhoneInfo(int UserID, string PhoneMac, string PhoneName, string PhoneNumber)
        {
            DBConnection DBop  = new DBConnection();
            ReturnError  error = new ReturnError();

            /// check if this account avilable
            DataTable dataTable = new DataTable();

            dataTable = DBop.NewConectionDLL.SelectDataSet("Admins", " * ", "UserID=" + UserID).Tables[0];
            if ((dataTable != null) && (dataTable.Rows.Count > 0))
            {
                Boolean isnulti = (Boolean)dataTable.Rows[0]["AccountType"];
                dataTable = DBop.NewConectionDLL.SelectDataSet("AdminPhones", " * ", "PhoneMac like '" + PhoneMac + "' and PhoneNumber like '" + PhoneNumber + "'").Tables[0];
                if ((dataTable != null) && (dataTable.Rows.Count > 0))
                {
                    error.ErrorID      = 1;
                    error.ErrorMessage = "this phone is already registered in database";
                    return(error);
                }
                // check if this phone is not comercial

                if (isnulti == false)
                {
                    dataTable = DBop.NewConectionDLL.SelectDataSet("AdminPhones", " * ", "UserID=" + UserID).Tables[0];
                    if ((dataTable != null) && (dataTable.Rows.Count > 0))
                    {
                        error.ErrorID      = 1;
                        error.ErrorMessage = "this type of account is for one device only";
                        return(error);
                    }
                }

                ColoumnParam[] Coloumns = new ColoumnParam[5];
                Coloumns[0] = new ColoumnParam("UserID", ColoumnType.Int, UserID);
                Coloumns[1] = new ColoumnParam("PhoneMac", ColoumnType.varchar50, PhoneMac);
                Coloumns[2] = new ColoumnParam("DateRegister", ColoumnType.DateTime, DateTime.Now);
                Coloumns[3] = new ColoumnParam("PhoneName", ColoumnType.varchar50, PhoneName);
                Coloumns[4] = new ColoumnParam("PhoneNumber", ColoumnType.varchar50, PhoneNumber);
                if (DBop.NewConectionDLL.InsertRow("AdminPhones", Coloumns))
                {
                    error.ErrorID      = 2;
                    error.ErrorMessage = "Greate you insert new record";
                    return(error);
                }
                else
                {
                    error.ErrorID      = 1;
                    error.ErrorMessage = "Error , cannot insert this record in the Database";
                    return(error);
                }
            }


            else
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "Error , cannot find this record in the Database";
                return(error);
            }
        }
Example #2
0
        public IActionResult GetAllWithDetail([FromHeader] string displayLanguage)
        {
            Return <List <LocationWithDetail> > responseModel = new Return <List <LocationWithDetail> >()
            {
                DisplayLanguage = displayLanguage
            };

            try
            {
                var locationMove = _locationMoveService.GetAllLocationListWithDetail();
                responseModel.Data    = locationMove;
                responseModel.Status  = ResultStatusCodeStatic.Success;
                responseModel.Message = "Success";
                responseModel.Success = true;
                return(Ok(responseModel));
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
        public Return <int> DeleteByProfileIdAndAuthId([FromQuery] DeleteByProfileIdAndAuthIdRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <int>()
            {
                DisplayLanguage = displayLanguage
            };

            try
            {
                responseModel.Data    = _profileDetailService.DeleteByProfileIdAndAuthId(requestModel.ProfileId, requestModel.AuthId);
                responseModel.Status  = ResultStatusCodeStatic.Success;
                responseModel.Message = "Success";
                responseModel.Success = true;
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = 0; //hata oluştugundan dolayı Data 0 olarak dönülür.
            }
            return(responseModel);
        }
Example #4
0
        public ReturnError IsExisitAccount(string UserName, string Password)
        {
            DBConnection DBop  = new DBConnection();
            ReturnError  error = new ReturnError();

            /// check if this account avilable
            DataTable dataTable = new DataTable();

            dataTable = DBop.NewConectionDLL.SelectDataSet("Admins", " * ", "UserName like '" + UserName + "' AND Password like '" + Password + "'").Tables[0];
            if ((dataTable != null) && (dataTable.Rows.Count > 0))
            {
                error.ErrorID      = 2;
                error.AdminID      = (int)dataTable.Rows[0]["UserID"];
                error.ErrorMessage = "Greate we find  record";
                return(error);
            }


            else
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "Error , cannot find this record in the Database";
                return(error);
            }
        }
        public ReturnError ReturnLastLocationPNOne(string PhoneNumber)
        {
            DBConnection DBop  = new DBConnection();
            ReturnError  error = new ReturnError();

            /// check if this account avilable
            DataTable dataTable = new DataTable();

            dataTable = DBop.NewConectionDLL.SelectDataSet("AdminPhones", " * ", "PhoneNumber like '%" + PhoneNumber + "' and IsVisabale=1").Tables[0];
            if ((dataTable != null) && (dataTable.Rows.Count > 0))
            {
                int PhoneID = (int)dataTable.Rows[0]["PhoneID"];

                dataTable = DBop.NewConectionDLL.SelectDataSet("Tracking", " * ", "PhoneID=" + PhoneID + " and DateRecord=( select max(DateRecord) from Tracking where PhoneID=" + PhoneID + ")").Tables[0];
                if ((dataTable != null) && (dataTable.Rows.Count > 0))
                {
                    error.ErrorMessage = dataTable.Rows[0]["Latitude"].ToString() + ":" + dataTable.Rows[0]["longitude"].ToString() + ":" + dataTable.Rows[0]["DateRecord"].ToString();
                    error.ErrorID      = 2;
                    // error.ErrorMessage = "Greate you find record";
                    return(error);
                }
                else
                {
                    error.ErrorID      = 1;
                    error.ErrorMessage = "Error , cannot Find Records in this date Range";
                    return(error);
                }
            }
            else
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "You Cannot access to this person location. may be he dont allow you to see his location or he didnot install (my phone locations)";
                return(error);
            }
        }
Example #6
0
        public IActionResult Add([FromBody] AddRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <Auth>();

            responseModel.DisplayLanguage = displayLanguage;

            TokenModel tokenModel = TokenHelper.DecodeTokenFromRequestHeader(Request);
            var        employeeId = tokenModel.Id;

            try
            {
                var record = new Auth();
                record.Code            = requestModel.Code;
                record.Name            = requestModel.Name;
                record.CreatedBy       = employeeId;
                record.CreatedDateTime = DateTime.Now;

                record.IsDeleted = false;

                var dbResult = _authService.Add(record);

                if (dbResult > 0)
                {
                    responseModel.Data    = record; // oluşturulan entity bilgisinde id kolonu atanmış olur ve entity geri gönderiliyor
                    responseModel.Status  = ResultStatusCodeStatic.Success;
                    responseModel.Message = "Success";
                    responseModel.Success = true;
                    return(Ok(responseModel));
                }
                else
                {
                    responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                    responseModel.Message = "Could Not Be Saved";
                    responseModel.Success = false;
                    ReturnError error = new ReturnError();
                    error.Key            = "500";
                    error.Message        = "Could Not Be Saved";
                    error.Code           = 500;
                    responseModel.Errors = new List <ReturnError>();
                    responseModel.Errors.Add(error);
                    responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                    return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
                }
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
        public IActionResult Add([FromBody] AddRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <Personnel>();

            responseModel.DisplayLanguage = displayLanguage;
            try
            {
                var record = new Personnel();
                record.TC       = requestModel.TC;
                record.Name     = requestModel.Name;
                record.LastName = requestModel.LastName;
                record.Phone    = requestModel.Phone;
                record.Address  = requestModel.Address;
                record.UserName = requestModel.UserName;
                record.Password = requestModel.Password;

                var dbResult = _personnelService.Add(record);

                if (dbResult > 0)
                {
                    responseModel.Data    = record; // oluşturulan entity bilgisinde id kolonu atanmış olur ve entity geri gönderiliyor
                    responseModel.Status  = ResultStatusCodeStatic.Success;
                    responseModel.Message = "Success";
                    responseModel.Success = true;
                    return(Ok(responseModel));
                }
                else
                {
                    responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                    responseModel.Message = "Could Not Be Saved";
                    responseModel.Success = false;
                    ReturnError error = new ReturnError();
                    error.Key            = "500";
                    error.Message        = "Could Not Be Saved";
                    error.Code           = 500;
                    responseModel.Errors = new List <ReturnError>();
                    responseModel.Errors.Add(error);
                    responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                    return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
                }
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
Example #8
0
        public IActionResult Delete(int id, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <Auth>();

            responseModel.DisplayLanguage = displayLanguage;

            //user bilgilerinden filitre parametreleri eklenir.
            TokenModel tokenModel = TokenHelper.DecodeTokenFromRequestHeader(Request);
            var        employeeId = tokenModel.Id;

            try
            {
                var record = _authService.GetById(id);
                record.IsDeleted       = true;
                record.DeletedDateTime = DateTime.Now;
                record.DeletedBy       = employeeId;
                var dbResult = _authService.Update(record);

                if (dbResult > 0)
                {
                    responseModel.Data    = record; // 'isDeleted= true' yapılan -> entity bilgisi geri gönderiliyor
                    responseModel.Status  = ResultStatusCodeStatic.Success;
                    responseModel.Message = "Success";
                    responseModel.Success = true;
                    return(Ok(responseModel));
                }
                else
                {
                    responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                    responseModel.Message = "Could Not Be Deleted";
                    responseModel.Success = false;
                    ReturnError error = new ReturnError();
                    error.Key            = "500";
                    error.Message        = "Could Not Be Deleted";
                    error.Code           = 500;
                    responseModel.Errors = new List <ReturnError>();
                    responseModel.Errors.Add(error);
                    responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                    return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
                }
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
        public IActionResult Delete(int id, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <Data.Entity.Profile>()
            {
                DisplayLanguage = displayLanguage
            };

            try
            {
                var record = _profileService.GetById(id);
                record.IsDeleted       = true;
                record.DeletedDateTime = DateTime.Now;
                record.DeletedBy       = 1;//todo: tokendan elde edilecek
                var dbResult = _profileService.Update(record);

                if (dbResult > 0)
                {
                    responseModel.Data    = record; // 'isDeleted= true' yapılan -> entity bilgisi geri gönderiliyor
                    responseModel.Status  = ResultStatusCodeStatic.Success;
                    responseModel.Message = "Success";
                    responseModel.Success = true;
                    return(Ok(responseModel));
                }
                else
                {
                    responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                    responseModel.Message = "Could Not Be Saved";
                    responseModel.Success = false;
                    ReturnError error = new ReturnError();
                    error.Key            = "500";
                    error.Message        = "Could Not Be Saved";
                    error.Code           = 500;
                    responseModel.Errors = new List <ReturnError>();
                    responseModel.Errors.Add(error);
                    responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                    return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
                }
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
Example #10
0
        private async Task <TResult> Execute <TResult>(Func <HttpClient, Task <HttpResponseMessage> > funcToExecute, Action <Exception> exceptionLogger, CancellationToken cancellationToken)
        {
            var session = await AuthenticateAsync(cancellationToken);

            var client = new HttpClient();

            try
            {
                client.BaseAddress = BaseUri;
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", session.Authorization.AccessToken);

                var result = await funcToExecute(client);

                if (result.IsSuccessStatusCode)
                {
                    return(await result.Content.ReadAsAsync <TResult>(cancellationToken));
                }

                ReturnError error = null;
                try
                {
                    error = await result.Content.ReadAsAsync <ReturnError>(cancellationToken);
                }
                catch
                {
                    if (null != exceptionLogger)
                    {
                        exceptionLogger(new Exception(string.Format("Failed to read \"{0}\" as ReturnError.", result.Content.ReadAsStringAsync().Result)));
                    }
                }

                var exception = HandleErrorCode(result.StatusCode, null, error != null && error.Error != null ? error.Error.ToString() : null);

                if (null != exceptionLogger)
                {
                    exceptionLogger(exception);
                }

                if (null != exception)
                {
                    throw exception;
                }
                else
                {
                    return(default(TResult));
                }
            }
            finally
            {
                client.Dispose();
            }
        }
Example #11
0
        public IActionResult Edit(int id, [FromBody] AddRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <LocationMove>();

            responseModel.DisplayLanguage = displayLanguage;
            try
            {
                var record = _locationMoveService.GetById(id);
                record.CarId      = requestModel.CarId;
                record.LocationId = requestModel.LocationId;
                record.EntryDate  = requestModel.EntryDate;
                record.ExitDate   = requestModel.ExitDate;
                var dbResult = _locationMoveService.Update(record);
                if (dbResult > 0)
                {
                    responseModel.Data    = record;
                    responseModel.Status  = ResultStatusCodeStatic.Success;
                    responseModel.Message = "Success";
                    responseModel.Success = true;
                    return(Ok(responseModel));
                }
                else
                {
                    responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                    responseModel.Message = "Could Not Be Saved";
                    responseModel.Success = false;
                    ReturnError error = new ReturnError();
                    error.Key            = "500";
                    error.Message        = "Could Not Be Saved";
                    error.Code           = 500;
                    responseModel.Errors = new List <ReturnError>();
                    responseModel.Errors.Add(error);
                    responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                    return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
                }
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
        public Return <Data.Entity.ProfileDetail> Add([FromBody] AddRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <Data.Entity.ProfileDetail>();

            responseModel.DisplayLanguage = displayLanguage;
            try
            {
                var record = new Data.Entity.ProfileDetail();
                record.AuthId    = requestModel.AuthId;
                record.ProfileId = requestModel.ProfileId;

                var dbResult = _profileDetailService.Add(record);

                if (dbResult > 0)
                {
                    responseModel.Data    = record; // oluşturulan entity bilgisinde id kolonu atanmış olur ve entity geri gönderiliyor
                    responseModel.Status  = ResultStatusCodeStatic.Success;
                    responseModel.Message = "Success";
                    responseModel.Success = true;
                }
                else
                {
                    responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                    responseModel.Message = "Could Not Be Saved";
                    responseModel.Success = false;
                    ReturnError error = new ReturnError();
                    error.Key            = "500";
                    error.Message        = "Could Not Be Saved";
                    error.Code           = 500;
                    responseModel.Errors = new List <ReturnError>();
                    responseModel.Errors.Add(error);
                    responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                }
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
            }
            return(responseModel);
        }
        public IActionResult GetAllAuthByProfileId([FromQuery] GetAllAuthByProfileIdRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <List <Data.Entity.Auth> >()
            {
                DisplayLanguage = displayLanguage
            };

            if (requestModel.ProfileId <= 0)
            {
                responseModel.Status  = ResultStatusCodeStatic.BadRequest;
                responseModel.Message = "Profile Id Must Be Entered";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = "Profile Id Must Be Entered";
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(BadRequest(responseModel));
            }
            try
            {
                responseModel.Data = _profileDetailService.GetAllAuthByProfileId(requestModel.ProfileId);

                responseModel.Status  = ResultStatusCodeStatic.Success;
                responseModel.Message = "Success";
                responseModel.Success = true;
                return(Ok(responseModel));
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
        public IActionResult GetById(int id, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <Data.Entity.Profile>()
            {
                DisplayLanguage = displayLanguage
            };

            try
            {
                responseModel.Data = _profileService.GetById(id);
                if (responseModel.Data == null)
                {
                    responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                    responseModel.Message = "Record Not Found.";
                    responseModel.Success = false;
                    ReturnError error = new ReturnError();
                    error.Key            = "404";
                    error.Message        = "Record Not Found.";
                    error.Code           = 404;
                    responseModel.Errors = new List <ReturnError>();
                    responseModel.Errors.Add(error);
                    responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                    return(NotFound(responseModel));
                }
                responseModel.Status  = ResultStatusCodeStatic.Success;
                responseModel.Message = "Success";
                responseModel.Success = true;
                return(Ok(responseModel));
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
        //[TokenAuthorizeFilter]
        public Return <List <Data.Entity.Profile> > GetAllProfileByCurrentUser([FromQuery] GetAllProfileByCurrentUserRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <List <Data.Entity.Profile> >();

            responseModel.DisplayLanguage = displayLanguage;

            if (requestModel.PersonnelId <= 0)
            {
                responseModel.Status  = ResultStatusCodeStatic.BadRequest;
                responseModel.Message = "Personnel Id Must Be Entered";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = "Personnel Id Must Be Entered";
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(responseModel);
            }
            try
            {
                responseModel.Data    = _profilePersonnelService.GetAllProfileByCurrentUser(requestModel.PersonnelId);
                responseModel.Status  = ResultStatusCodeStatic.Success;
                responseModel.Message = "Success";
                responseModel.Success = true;
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
            }

            return(responseModel);
        }
        private void getMetaData()
        {
            YouTube     youtube = YouTube.Default;
            ReturnError results = new ReturnError();

            try
            {
                YouTubeVideo audio =
                    youtube.GetAllVideos(_link)
                    //.Where(e => e.AudioFormat == AudioFormat.Aac && e.AdaptiveKind == AdaptiveKind.Audio)
                    .ToList()
                    .FirstOrDefault();

                string filename = audio.FullName.Replace(" - YouTube", "");
                filename = filename.Replace(".mp4", "");

                MediaFile inputFile = new MediaFile {
                    Filename = audio.GetUri()
                };

                using (Engine engine = new Engine())
                {
                    engine.GetMetadata(inputFile);
                    video.VideoName = filename;

                    if (inputFile.Metadata.Duration.ToString().StartsWith("00"))
                    {
                        video.Length = inputFile.Metadata.Duration.ToString().Substring(3, 5);
                    }
                    else
                    {
                        video.Length = inputFile.Metadata.Duration.ToString().Substring(0, 8);
                    }
                }
            }
            catch (NullReferenceException e)
            {
                results.errorNumber++;
                results.errorLinks.Add(_link);
            }
        }
        public IActionResult GetAllPaginatedWithDetail([FromQuery] GetAllPaginatedRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            var responseModel = new Return <PaginatedList <Data.Entity.Profile> >()
            {
                DisplayLanguage = displayLanguage
            };

            try
            {
                var searchFilter = new Business.Models.Profile.ProfileSearchFilter();
                searchFilter.CurrentPage   = requestModel.CurrentPage.HasValue ? requestModel.CurrentPage.Value : 1;
                searchFilter.PageSize      = requestModel.PageSize.HasValue ? requestModel.PageSize.Value : 10;
                searchFilter.SortOn        = requestModel.SortOn;
                searchFilter.SortDirection = requestModel.SortDirection;
                searchFilter.Filter_Code   = requestModel.Code;
                searchFilter.Filter_Name   = requestModel.Name;

                responseModel.Data = _profileService.GetAllPaginatedWithDetailBySearchFilter(searchFilter);

                responseModel.Status  = ResultStatusCodeStatic.Success;
                responseModel.Message = "Success";
                responseModel.Success = true;
                return(Ok(responseModel));
            }
            catch (Exception ex)
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = "An error occurred";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = ex.Message;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
        public ReturnError ReturnLastLocationPN(string PhoneNumber)
        {
            DBConnection DBop  = new DBConnection();
            ReturnError  error = new ReturnError();

            string[] Phones = PhoneNumber.Split(':');

            for (int k = 0; k < Phones.Length - 1; k++)
            {
                /// check if this account avilable
                DataTable dataTable = new DataTable();

                dataTable = DBop.NewConectionDLL.SelectDataSet("AdminPhones", " * ", "PhoneNumber like '%" + Phones[k] + "' and IsVisabale=1").Tables[0];
                if ((dataTable != null) && (dataTable.Rows.Count > 0))
                {
                    int PhoneID = (int)dataTable.Rows[0]["PhoneID"];

                    dataTable = DBop.NewConectionDLL.SelectDataSet("Tracking", " * ", "PhoneID=" + PhoneID + " and DateRecord=( select max(DateRecord) from Tracking where PhoneID=" + PhoneID + ")").Tables[0];
                    if ((dataTable != null) && (dataTable.Rows.Count > 0))
                    {
                        error.ErrorMessage = error.ErrorMessage + ":" + Phones[k];
                    }
                }
            } // for for
            if (error.ErrorMessage != null)
            {
                // error.myTrack = mytrack1;
                error.ErrorID = 2;
                // error.ErrorMessage = "Greate you find record";
                return(error);
            }
            else
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "Error ,we cannot find any  friend for this phone";
                return(error);
            }
        }
Example #19
0
        public ReturnError InsertTrackR(string PhoneMac, string Latitude, string longitude)
        {
            DBConnection DBop  = new DBConnection();
            ReturnError  error = new ReturnError();

            /// check if this account avilable
            DataTable dataTable = new DataTable();

            dataTable = DBop.NewConectionDLL.SelectDataSet("AdminPhones", " * ", "PhoneMac like '" + PhoneMac + "'").Tables[0];
            if ((dataTable != null) && (dataTable.Rows.Count > 0))
            {
                int PhoneID = (int)dataTable.Rows[0]["PhoneID"];

                ColoumnParam[] Coloumns = new ColoumnParam[4];
                Coloumns[0] = new ColoumnParam("Latitude", ColoumnType.Float, Latitude);
                Coloumns[1] = new ColoumnParam("longitude", ColoumnType.Float, longitude);
                Coloumns[2] = new ColoumnParam("PhoneID", ColoumnType.Int, PhoneID);
                Coloumns[3] = new ColoumnParam("DateRecord", ColoumnType.DateTime, DateTime.Now);
                if (DBop.NewConectionDLL.InsertRow("Tracking", Coloumns))
                {
                    error.ErrorID      = 2;
                    error.ErrorMessage = "Greate you insert new record";
                    return(error);
                }
                else
                {
                    error.ErrorID      = 1;
                    error.ErrorMessage = "Error , cannot insert this record in the Database";
                    return(error);
                }
            }
            else
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "Error , this phone isnot register in your database";
                return(error);
            }
        }
        public ReturnError InsertPhoneNumberPrivicy(string PhoneMac, string PhoneNumber, Boolean IsVisabale)
        {
            DBConnection DBop  = new DBConnection();
            ReturnError  error = new ReturnError();

            /// check if this account avilable
            DataTable dataTable = new DataTable();


            dataTable = DBop.NewConectionDLL.SelectDataSet("AdminPhones", " * ", "PhoneMac like '" + PhoneMac + "' and PhoneNumber like '" + PhoneNumber + "'").Tables[0];
            if ((dataTable != null) && (dataTable.Rows.Count > 0))
            {
                ColoumnParam[] Coloumns = new ColoumnParam[1];

                Coloumns[0] = new ColoumnParam("IsVisabale", ColoumnType.Bit, IsVisabale);

                if (DBop.NewConectionDLL.UpdateRow("AdminPhones", Coloumns, "PhoneMac like '" + PhoneMac + "' and PhoneNumber like '" + PhoneNumber + "'"))
                {
                    error.ErrorID      = 2;
                    error.ErrorMessage = "Greate you update the record";
                    return(error);
                }
                else
                {
                    error.ErrorID      = 1;
                    error.ErrorMessage = "Error , cannot insert this record in the Database";
                    return(error);
                }
            }
            else
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "Error , this phone is not registared in database";
                return(error);
            }
        }
        public override void OnActionExecuting(ActionExecutingContext actionContext)
        {
            string displayLanguage = "tr";

            if (actionContext.HttpContext.Request.Headers.ContainsKey("DisplayLanguage"))
            {
                displayLanguage = actionContext.HttpContext.Request.Headers["DisplayLanguage"].FirstOrDefault();

                displayLanguage = displayLanguage.ToLowerInvariant();
            }

            //istekteki -> Authorization bilgisinin alınması
            var authToken = "";

            if (actionContext.HttpContext.Request.Headers.ContainsKey("Authorization"))
            {
                authToken = actionContext.HttpContext.Request.Headers["Authorization"].FirstOrDefault();
                authToken = authToken.Replace("Bearer ", "");
            }

            //token bilgisi yoksa
            if (string.IsNullOrEmpty(authToken))
            {
                BaseResponseModel responseModel = new BaseResponseModel();
                responseModel.Status  = ResultStatusCodeStatic.Unauthorized;
                responseModel.Message = "Token paramater not found.";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = "Token paramater not found.";
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);

                actionContext.Result = new UnauthorizedObjectResult(responseModel);
                return;
            }

            // jwt token imza kontrolu yapılır
            // jwt token geçerlilik kontrolu yapılır
            string jwtSecret                = ConfigHelper.Jwt_Secret;
            bool   isTokenSignatureError    = false;
            bool   isTokenParseError        = false;
            bool   isTokenExpireError       = false;
            string userAuthCodeListAsString = "";
            string employeeId               = "";

            try
            {
                var payload = new JwtBuilder()
                              .WithAlgorithm(new HMACSHA256Algorithm())
                              .WithSecret(jwtSecret)
                              .MustVerifySignature()
                              .Decode <IDictionary <string, object> >(authToken);

                var expiredDateAsSeconds = Convert.ToInt64(payload["expireAsUnixSeconds"].ToString());
                userAuthCodeListAsString = payload["authCodeListAsString"].ToString();
                if (DateTimeOffset.UtcNow.ToUnixTimeSeconds() > expiredDateAsSeconds)
                {
                    isTokenExpireError = true;
                }

                // çalışan bilgisi HttpContext.User alanına atanıyor
                employeeId = payload["ID"].ToString();
                actionContext.HttpContext.User =
                    new System.Security.Claims.ClaimsPrincipal(new System.Security.Principal.GenericIdentity(employeeId));
            }
            catch (TokenExpiredException tokenExpiredException)
            {
                //Console.WriteLine("Token has expired");
            }
            catch (SignatureVerificationException signatureVerificationException)
            {
                //Console.WriteLine("Token has invalid signature");
                isTokenSignatureError = true;
            }
            catch (Exception ex)
            {
                isTokenParseError = true;
            }

            if (isTokenSignatureError)
            {
                BaseResponseModel responseModel = new BaseResponseModel();
                responseModel.Status  = ResultStatusCodeStatic.Unauthorized;
                responseModel.Message = "Token signature error occured.";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = "Token signature error occured.";
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                actionContext.Result = new UnauthorizedObjectResult(responseModel);

                return;
            }
            else if (isTokenParseError)
            {
                BaseResponseModel responseModel = new BaseResponseModel();
                responseModel.Status  = ResultStatusCodeStatic.Unauthorized;
                responseModel.Message = "Token parse error occured.";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = "Token parse error occured.";
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);

                actionContext.Result = new UnauthorizedObjectResult(responseModel);

                return;
            }
            else if (isTokenExpireError)
            {
                BaseResponseModel responseModel = new BaseResponseModel();
                responseModel.Status  = ResultStatusCodeStatic.Unauthorized;
                responseModel.Message = "Token expire error occured.";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = "Token expire error occured.";
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                actionContext.Result = new UnauthorizedObjectResult(responseModel);

                return;
            }

            // auth yetki kontolleri yapma
            // jwt token üzerinden auth code bilgileri alınır
            List <string> userAuthCodeList = userAuthCodeListAsString.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();

            if (_authCodeList != null && _authCodeList.Count() > 0)
            {
                if (userAuthCodeList == null || userAuthCodeList.Count == 0 || (!userAuthCodeList.Where(r => _authCodeList.Contains(r)).Any()))
                {
                    BaseResponseModel responseModel = new BaseResponseModel();
                    responseModel.Status  = ResultStatusCodeStatic.Unauthorized;
                    responseModel.Message = "User not authorized.";
                    responseModel.Success = false;
                    ReturnError error = new ReturnError();
                    error.Key            = "500";
                    error.Message        = "User not authorized.";
                    error.Code           = 500;
                    responseModel.Errors = new List <ReturnError>();
                    responseModel.Errors.Add(error);
                    actionContext.Result = new UnauthorizedObjectResult(responseModel);

                    return;
                }
            }
        }
        public ReturnError OpenAccount(string FullName, string UserName, String Password, Boolean AccountType, string EmailAdrress)
        {
            DBConnection DBop  = new DBConnection();
            ReturnError  error = new ReturnError();

            /// check if empty data
            if ((FullName.Length == 0) || (UserName.Length == 0) || (Password.Length == 0) || (EmailAdrress.Length == 0))
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "please fill all your information";
                return(error);
            }

            /// check if this account avilable
            DataTable dataTable = new DataTable();

            dataTable = DBop.NewConectionDLL.SelectDataSet("Admins", " * ", "UserName like '" + UserName + "' or EmailAdrress like '" + EmailAdrress + "'").Tables[0];
            if ((dataTable != null) && (dataTable.Rows.Count > 0))
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "the user name or email address already used by other account try with different email or user name";
                return(error);
            }

            /// save new account
            ///
            ColoumnParam[] Coloumns = new ColoumnParam[6];
            Coloumns[0] = new ColoumnParam("FullName", ColoumnType.varchar50, FullName);
            Coloumns[1] = new ColoumnParam("UserName", ColoumnType.varchar50, UserName);
            Coloumns[2] = new ColoumnParam("Password", ColoumnType.varchar50, Password);
            Coloumns[3] = new ColoumnParam("AccountType", ColoumnType.Bit, AccountType);
            Coloumns[4] = new ColoumnParam("DateRegister", ColoumnType.DateTime, DateTime.Now);
            Coloumns[5] = new ColoumnParam("EmailAdrress", ColoumnType.varchar50, EmailAdrress);
            if (DBop.NewConectionDLL.InsertRow("Admins", Coloumns))
            {
                dataTable = DBop.NewConectionDLL.SelectDataSet("Admins", " * ", "UserName like '" + UserName + "'").Tables[0];

                //  dataTable = DBop.NewConectionDLL.SelectDataSet("Admins", " * " ).Tables[0];
                /////send email to new account=========================================================
                // System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                // mail.To.Add(EmailAdrress);
                // mail.From = new MailAddress( "*****@*****.**" , "Email head", System.Text.Encoding.UTF8);
                // mail.Subject = "Complete your final steps with  my phone locations";
                //mail.SubjectEncoding = System.Text.Encoding.UTF8;
                //  for (int i = 0; i < dataTable.Rows.Count; i++) {
                try
                {
                    string smtpAddress = "mail.alrubaye.com";
                    int    portNumber  = 25;
                    bool   enableSSL   = false;

                    string emailFrom = "*****@*****.**";
                    string password  = "******";
                    string emailTo   = EmailAdrress;
                    string subject   = "Welcome in my phone location system";
                    string body      = "Thank you for using my phone locations system \n" + "  \n Your account  now ready to be used.  please setup this app from google play on your phone \n" + "https://play.google.com/store/apps/details?id=phonelocation.example.asuss550c.phonelocation" + "\nThen from setting login with your user name and password." + "And enjoy." + "Best regards,";

                    using (MailMessage mail = new MailMessage())
                    {
                        mail.From = new MailAddress(emailFrom);
                        mail.To.Add(emailTo);
                        mail.Subject    = subject;
                        mail.Body       = body;
                        mail.IsBodyHtml = true;
                        // Can set to false, if you are sending pure text.

                        //  mail.Attachments.Add(new Attachment("C:\\SomeFile.txt"));
                        //  mail.Attachments.Add(new Attachment("C:\\SomeZip.zip"));

                        using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))
                        {
                            smtp.Credentials = new NetworkCredential(emailFrom, password);
                            smtp.EnableSsl   = enableSSL;
                            smtp.Send(mail);
                        }
                    }
                }
                catch (Exception ex) { }
                //} // for loop
                error.ErrorID      = 2;
                error.AdminID      = (int)dataTable.Rows[0]["UserID"];
                error.ErrorMessage = "Greate you insert new record";
                return(error);
            }
            else
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "Error , cannot insert this record in the Database";
                return(error);
            }
        }
Example #23
0
        public ReturnError OpenAccount(string FullName, string UserName, String Password, Boolean AccountType, string EmailAdrress)
        {
            DBConnection DBop  = new DBConnection();
            ReturnError  error = new ReturnError();

            /// check if empty data
            if ((FullName.Length == 0) || (UserName.Length == 0) || (Password.Length == 0) || (EmailAdrress.Length == 0))
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "please fill all your information";
                return(error);
            }

            /// check if this account avilable
            DataTable dataTable = new DataTable();

            dataTable = DBop.NewConectionDLL.SelectDataSet("Admins", " * ", "UserName like '" + UserName + "' or EmailAdrress like '" + EmailAdrress + "'").Tables[0];
            if ((dataTable != null) && (dataTable.Rows.Count > 0))
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "the user name or email address already used by other account try with different email or user name";
                return(error);
            }

            /// save new account
            ///
            ColoumnParam[] Coloumns = new ColoumnParam[6];
            Coloumns[0] = new ColoumnParam("FullName", ColoumnType.varchar50, FullName);
            Coloumns[1] = new ColoumnParam("UserName", ColoumnType.varchar50, UserName);
            Coloumns[2] = new ColoumnParam("Password", ColoumnType.varchar50, Password);
            Coloumns[3] = new ColoumnParam("AccountType", ColoumnType.Bit, AccountType);
            Coloumns[4] = new ColoumnParam("DateRegister", ColoumnType.DateTime, DateTime.Now);
            Coloumns[5] = new ColoumnParam("EmailAdrress", ColoumnType.varchar50, EmailAdrress);
            if (DBop.NewConectionDLL.InsertRow("Admins", Coloumns))
            {
                dataTable = DBop.NewConectionDLL.SelectDataSet("Admins", " * ", "UserName like '" + UserName + "'").Tables[0];


                /////send email to new account=========================================================
                // System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                // mail.To.Add(EmailAdrress);
                // mail.From = new MailAddress( "*****@*****.**" , "Email head", System.Text.Encoding.UTF8);
                // mail.Subject = "Complete your final steps with  my phone locations";
                //mail.SubjectEncoding = System.Text.Encoding.UTF8;
                //mail.Body = "Thank you for using my phone locations system" + Environment.NewLine + "Your account  now ready to be used.  please setup this app from google play on your phone" + Environment.NewLine + "https://play.google.com/store/apps/details?id=phonelocation.example.asuss550c.phonelocation" + Environment.NewLine + "Then from setting login with your user name and password." + Environment.NewLine + "And enjoy." + Environment.NewLine + "Best regards,";
                //mail.BodyEncoding = System.Text.Encoding.UTF8;
                //mail.IsBodyHtml = true;
                //mail.Priority = MailPriority.High;
                //SmtpClient client = new SmtpClient();
                //client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "abc3551356");
                //client.Port = 25;
                //client.Host = "mail.alrubaye.com";
                //client.EnableSsl = true;
                //try
                //{
                //    client.Send(mail);
                //   // Page.RegisterStartupScript("UserMsg", "<script>alert('Successfully Send...');if(alert){ window.location='SendMail.aspx';}</script>");
                //}
                //catch (Exception ex)
                //{
                //    Exception ex2 = ex;
                //    string errorMessage = string.Empty;
                //    while (ex2 != null)
                //    {
                //        errorMessage += ex2.ToString();
                //        ex2 = ex2.InnerException;
                //    }
                //  //  Page.RegisterStartupScript("UserMsg", "<script>alert('Sending Failed...');if(alert){ window.location='SendMail.aspx';}</script>");
                //}
                error.ErrorID      = 2;
                error.AdminID      = (int)dataTable.Rows[0]["UserID"];
                error.ErrorMessage = "Greate you insert new record";
                return(error);
            }
            else
            {
                error.ErrorID      = 1;
                error.ErrorMessage = "Error , cannot insert this record in the Database";
                return(error);
            }
        }
        public ReturnError downloadPlaylist(string playlistLink, string destPath, string pageToken, int index)
        {
            List <string> partLinks  = new List <string>();
            List <string> totalLinks = new List <string>();
            List <string> tmpLinks   = new List <string>();
            string        playListId = "";

            string[] playlistIDRAW = playlistLink.Split(new string[] { "list=" }, StringSplitOptions.None);
            if (playlistIDRAW[1].Contains("&index"))
            {
                playlistIDRAW = playlistIDRAW[1].Split(new string[] { "&index=" }, StringSplitOptions.None);
                playListId    = playlistIDRAW[0];
            }
            else
            {
                playListId = playlistIDRAW[1];
            }
            ReturnError errorRes = new ReturnError();


            YTResponse ytResponse = null;
            string     url        = @"https://www.googleapis.com/youtube/v3/playlistItems";
            var        uriBuilder = new UriBuilder(url);
            var        query      = HttpUtility.ParseQueryString(uriBuilder.Query);

            query["part"]          = "contentDetails";
            query["maxResults"]    = "50";
            query["playlistId"]    = playListId;
            query["nextPageToken"] = pageToken;
            query["key"]           = "AIzaSyCtzP23AG4P_K5WNIjqb7AOFnhWNyLIkoE";
            while (ytResponse == null || !string.IsNullOrWhiteSpace(ytResponse.nextPageToken))
            {
                if (ytResponse != null && !string.IsNullOrWhiteSpace(ytResponse.nextPageToken))
                {
                    query["pageToken"] = ytResponse.nextPageToken;
                }
                uriBuilder.Query = query.ToString();
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uriBuilder.ToString());
                request.AutomaticDecompression = DecompressionMethods.GZip;
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    using (Stream stream = response.GetResponseStream())
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            ytResponse = new JavaScriptSerializer().Deserialize <YTResponse>(reader.ReadToEnd());
                        }
                string textResponse = string.Join(Environment.NewLine,
                                                  ytResponse.items.Select(x => x.contentDetails.videoId).ToArray());
                partLinks.Add(textResponse);
            }
            foreach (string response in partLinks)
            {
                tmpLinks   = response.Split(new string[] { Environment.NewLine }, StringSplitOptions.None).ToList();
                totalLinks = totalLinks.Concat(tmpLinks).ToList();
            }

            List <string> youtubesongs = totalLinks.ToList();

            for (int i = index; i < youtubesongs.Count; i++)
            {
                youtubesongs[i] = "https://www.youtube.com/watch?v=" + youtubesongs[i];
                index           = i;
            }

            if (ytResponse.nextPageToken != null)
            {
                downloadPlaylist(playlistLink, destPath, ytResponse.nextPageToken, index);
            }
            else
            {
                errorRes = DownloadMP3(youtubesongs, destPath);
                return(errorRes);
            }

            return(errorRes);
        }
        public IActionResult Token([FromBody] TokenRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            Return <TokenResponseModel> responseModel = new Return <TokenResponseModel>()
            {
                DisplayLanguage = displayLanguage
            };

            // parameter validations
            if (requestModel == null || string.IsNullOrEmpty(requestModel.UserName) || string.IsNullOrEmpty(requestModel.Password))
            {
                responseModel.Status  = ResultStatusCodeStatic.BadRequest;
                responseModel.Message = "Parametreler boş olmamalıdır.";
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "400";
                error.Message        = "Parametreler boş olmamalıdır.";
                error.Code           = 400;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                return(BadRequest(responseModel));
            }

            var userLoginResponse = _authenticationService.Login(requestModel.UserName, requestModel.Password, displayLanguage);

            if (userLoginResponse.IsValid)
            {
                responseModel.Data                   = new TokenResponseModel();
                responseModel.Data.Id                = userLoginResponse.Personnel.Id;
                responseModel.Data.TC                = userLoginResponse.Personnel.TC;
                responseModel.Data.Name              = userLoginResponse.Personnel.Name;
                responseModel.Data.LastName          = userLoginResponse.Personnel.LastName;
                responseModel.Data.Phone             = userLoginResponse.Personnel.Phone;
                responseModel.Data.Address           = userLoginResponse.Personnel.Address;
                responseModel.Data.UserName          = userLoginResponse.Personnel.UserName;
                responseModel.Data.Password          = "******";
                responseModel.Data.TokenExpirePeriod = 60;

                // kullanıcının authcode bilgileri elde edilir
                var userAuthCodeListAsString = _profileDetailService.GetAllAuthCodeByPersonnelIdAsConcatenateString(userLoginResponse.Personnel.Id);

                //jwt token eklenmesi işlevi
                responseModel.Data.UserToken = TokenHelper.CreateToken(userLoginResponse.Personnel, userAuthCodeListAsString); //userToken.Token;

                responseModel.Status  = ResultStatusCodeStatic.Success;
                responseModel.Message = "Success";
                responseModel.Success = true;
                return(Ok(responseModel));
            }
            else
            {
                responseModel.Status  = ResultStatusCodeStatic.InternalServerError;
                responseModel.Message = userLoginResponse.ErrorMessage;
                responseModel.Success = false;
                ReturnError error = new ReturnError();
                error.Key            = "500";
                error.Message        = userLoginResponse.ErrorMessage;
                error.Code           = 500;
                responseModel.Errors = new List <ReturnError>();
                responseModel.Errors.Add(error);
                responseModel.Data = null; //hata oluştugundan dolayı Data null olarak dönülür.
                                           // return BadRequest(responseModel);
                                           //return Ok(responseModel);
                return(BadRequest(responseModel));
            }
        }
        public ReturnError DownloadMP3(List <string> links, string destPath)
        {
            _songCount = links.Count;
            if (_songCount == 0)
            {
                throw new Exception("No links available.");
            }
            if (!Directory.Exists(destPath))
            {
                throw new DirectoryNotFoundException("Destination path does not exist.");
            }

            YouTube youtube = YouTube.Default;

            convertedSong = 0;
            ReturnError results = new ReturnError();

            results.errorNumber = 0;
            results.errorLinks  = new List <string>();
            foreach (string link in links)
            {
                if (link.Contains("&list="))
                {
                    downloadPlaylist(link, destPath, "", 0);
                }
                else
                {
                    try
                    {
                        YouTubeVideo audio =
                            youtube.GetAllVideos(link)
                            .Where(e => e.AudioFormat == AudioFormat.Aac && e.AdaptiveKind == AdaptiveKind.Audio)
                            .ToList()
                            .FirstOrDefault();

                        string filename =
                            Path.ChangeExtension(
                                Path.Combine(destPath, Path.GetFileNameWithoutExtension(audio.FullName)),
                                "mp3");
                        filename = filename.Replace(" - YouTube", "");

                        MediaFile inputFile = new MediaFile {
                            Filename = audio.GetUri()
                        };
                        MediaFile outputFile = new MediaFile {
                            Filename = filename
                        };

                        getThumbnail(link);

                        using (Engine engine = new Engine())
                        {
                            engine.GetMetadata(inputFile);
                            engine.Convert(inputFile, outputFile);
                            engine.ConvertProgressEvent += engine_ConvertProgressEvent;
                        }
                    }
                    catch (NullReferenceException e)
                    {
                        results.errorNumber++;
                        results.errorLinks.Add(link);
                    }
                }
            }
            return(results);
        }