コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="employer"></param>
        /// <returns></returns>
        public bool DeleteEmployer(Entities.Employer employer)
        {
            bool isDeleted = false;

            try
            {
                using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.DeleteEmployer))
                {
                    database.AddInParameter(dbCommand, "@employer_id", DbType.Int32, employer.EmployerId);
                    database.AddInParameter(dbCommand, "@deleted_by", DbType.Int32, employer.DeletedBy);
                    database.AddInParameter(dbCommand, "@deleted_by_ip", DbType.String, employer.DeletedByIP);

                    database.AddOutParameter(dbCommand, "@return_value", DbType.Int32, 0);

                    var result = database.ExecuteNonQuery(dbCommand);

                    if (database.GetParameterValue(dbCommand, "@return_value") != DBNull.Value)
                    {
                        isDeleted = Convert.ToBoolean(database.GetParameterValue(dbCommand, "@return_value"));
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(isDeleted);
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="employerId"></param>
        /// <returns></returns>
        public Entities.Employer GetEmployerDetailsById(Int32 employerId)
        {
            var employer = new Entities.Employer();

            using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.GetEmployerDetailsById))
            {
                database.AddInParameter(dbCommand, "@employer_id", DbType.Int32, employerId);

                using (IDataReader reader = database.ExecuteReader(dbCommand))
                {
                    while (reader.Read())
                    {
                        var _employer = new Entities.Employer
                        {
                            EmployerId      = DRE.GetNullableInt32(reader, "employer_id", null),
                            EmployerName    = DRE.GetNullableString(reader, "employer_name", null),
                            EmployerAddress = DRE.GetNullableString(reader, "employer_address", null),
                            CountryId       = DRE.GetNullableInt32(reader, "country_id", null),
                            StateId         = DRE.GetNullableInt32(reader, "state_id", null),
                            CityId          = DRE.GetNullableInt32(reader, "city_id", null),
                            PinCode         = DRE.GetNullableString(reader, "pin_code", null),
                            Website         = DRE.GetNullableString(reader, "website", null),
                            GSTINNo         = DRE.GetNullableString(reader, "gstin_no", null)
                        };

                        employer = _employer;
                    }
                }
            }

            return(employer);
        }
コード例 #3
0
        public List <Entities.Employer> GetEmployerIdAndNameByName(string employerName)
        {
            var employers = new List <Entities.Employer>();

            try
            {
                using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.GetEmployerIdAndNameByName))
                {
                    database.AddInParameter(dbCommand, "@employer_name", DbType.String, employerName);

                    using (IDataReader reader = database.ExecuteReader(dbCommand))
                    {
                        while (reader.Read())
                        {
                            var employer = new Entities.Employer
                            {
                                EmployerId   = DRE.GetNullableInt32(reader, "employer_id", 0),
                                EmployerName = DRE.GetNullableString(reader, "employer_name", null)
                            };

                            employers.Add(employer);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(employers);
        }
        public async Task Execute(Entities.Employer employer)
        {
            _fileUploadContext.Employer.Update(employer).State = EntityState.Modified;

            int updatedRecordCount;

            try
            {
                updatedRecordCount = await _fileUploadContext.SaveAsync();
            }
            catch (DbUpdateException due)
            {
                // Log
                throw;
            }
        }
コード例 #5
0
        public async Task Execute(Entities.Employer employer)
        {
            _fileUploadContext.Employer.Add(employer);

            int createdRecordCount;

            try
            {
                createdRecordCount = await _fileUploadContext.SaveAsync();
            }
            catch (DbUpdateException due)
            {
                // Log
                throw;
            }
        }
コード例 #6
0
        public Int32 SaveEmployer(Entities.Employer employer)
        {
            var employerId = 0;

            if (employer.EmployerId == null || employer.EmployerId == 0)
            {
                employerId = AddEmployer(employer);
            }
            else if (employer.ModifiedBy != null || employer.ModifiedBy > 0)
            {
                employerId = UpdateEmployer(employer);
            }
            else if (employer.IsDeleted == true)
            {
                var result = DeleteEmployer(employer);
            }

            return(employerId);
        }
コード例 #7
0
        public static Entities.Employer Map(FileUploadEmployer fileEmployer,
                                            Entities.Employer employer)
        {
            if (employer == null)
            {
                employer = new Entities.Employer
                {
                    Id = fileEmployer.Account
                };
            }

            Enum.TryParse(fileEmployer.Aupa, out AupaStatus aupa);
            var companyType = GetCompanyType(fileEmployer.CompanyType);

            employer.AlsoKnownAs = fileEmployer.CompanyAka;
            employer.AupaStatus  = (int)aupa;
            employer.CompanyName = fileEmployer.CompanyName;
            employer.CompanyType = (int)companyType;
            employer.CreatedOn   = fileEmployer.Created;

            return(employer);
        }
コード例 #8
0
        public List <Entities.Employer> SearchEmployerByName(string employerName)
        {
            var employers = new List <Entities.Employer>();

            try
            {
                using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.SearchEmployerByName))
                {
                    database.AddInParameter(dbCommand, "@employer_name", DbType.String, employerName);

                    using (IDataReader reader = database.ExecuteReader(dbCommand))
                    {
                        while (reader.Read())
                        {
                            var employer = new Entities.Employer
                            {
                                EmployerId      = DRE.GetNullableInt32(reader, "employer_id", 0),
                                EmployerName    = DRE.GetNullableString(reader, "employer_name", null),
                                EmployerAddress = DRE.GetNullableString(reader, "employer_address", null),
                                CountryName     = DRE.GetNullableString(reader, "country_name", null),
                                StateName       = DRE.GetNullableString(reader, "state_name", null),
                                CityName        = DRE.GetNullableString(reader, "city_name", null),
                                PinCode         = DRE.GetNullableString(reader, "pin_code", null),
                                Website         = DRE.GetNullableString(reader, "website", null),
                                GSTINNo         = DRE.GetNullableString(reader, "gstin_no", null)
                            };

                            employers.Add(employer);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(employers);
        }
コード例 #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="employer"></param>
        /// <returns></returns>
        private Int32 AddEmployer(Entities.Employer employer)
        {
            var employerId = 0;

            try
            {
                using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.InsertEmployer))
                {
                    database.AddInParameter(dbCommand, "@employer_id", DbType.Int32, employer.EmployerId);
                    database.AddInParameter(dbCommand, "@employer_name", DbType.String, employer.EmployerName);
                    database.AddInParameter(dbCommand, "@employer_address", DbType.String, employer.EmployerAddress);
                    database.AddInParameter(dbCommand, "@country_id", DbType.Int32, employer.CountryId);
                    database.AddInParameter(dbCommand, "@state_id", DbType.Int32, employer.StateId);
                    database.AddInParameter(dbCommand, "@city_id", DbType.Int32, employer.CityId);
                    database.AddInParameter(dbCommand, "@pin_code", DbType.String, employer.PinCode);
                    database.AddInParameter(dbCommand, "@website", DbType.String, employer.Website);
                    database.AddInParameter(dbCommand, "@gstin_no", DbType.String, employer.GSTINNo);
                    database.AddInParameter(dbCommand, "@created_by", DbType.Int32, employer.CreatedBy);
                    database.AddInParameter(dbCommand, "@created_by_ip", DbType.String, employer.CreatedByIP);

                    database.AddOutParameter(dbCommand, "@return_value", DbType.Int32, 0);

                    employerId = database.ExecuteNonQuery(dbCommand);

                    if (database.GetParameterValue(dbCommand, "@return_value") != DBNull.Value)
                    {
                        employerId = Convert.ToInt32(database.GetParameterValue(dbCommand, "@return_value"));
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(employerId);
        }
コード例 #10
0
 public Int32 SaveEmployer(Entities.Employer employer)
 {
     return(_employer.SaveEmployer(employer));
 }
コード例 #11
0
        public static void Start(Entities.Employer employer, Database.Database db)
        {
            var logger = new Logger.ConsoleLogger();

            var seeCvsLoop = true;


            var mainCvs = db.GetCvs();

            IList <Cv> cvs = mainCvs;


            while (seeCvsLoop)
            {
                Console.Clear();

                ExceptionHandle.Handle(CvHelper.SeeCvs, cvs);

                ConsoleScreen.PrintMenu(ConsoleScreen.FilterMenu, ConsoleColor.Blue);

                var filterMenuChoice = (FilterMenuEnum)ConsoleScreen.Input(ConsoleScreen.FilterMenu.Count);

                switch (filterMenuChoice)
                {
                case FilterMenuEnum.Select:
                {
                    var loop3 = true;
                    while (loop3)
                    {
                        Console.Clear();
                        if (!ExceptionHandle.Handle(CvHelper.SeeCvs, cvs))
                        {
                            break;
                        }
                        Console.WriteLine("Cv id: ");

                        var cvId = UserHelper.InputGuid();

                        try
                        {
                            var cv = CvHelper.GetCv(cvId, cvs);

                            Console.Clear();

                            while (true)
                            {
                                var requestFromEmployer = cv.CheckEmployerRequest(employer.Guid);

                                Console.Clear();

                                Console.WriteLine(cv++);     // increase view count and print.

                                Database.Database.Changes = true;

                                Console.WriteLine();

                                Console.WriteLine($"1. {(requestFromEmployer ? "Cancel" : "Request")}");

                                Console.WriteLine("2. Back");

                                var choice = ConsoleScreen.Input(2);

                                if (choice == 1)
                                {
                                    if (requestFromEmployer)
                                    {
                                        cv.RemoveRequest(employer.Guid);
                                    }
                                    else
                                    {
                                        Vacancy vacancy = null;

                                        while (true)
                                        {
                                            Console.Clear();
                                            if (!ExceptionHandle.Handle(employer.ShowAllAds, true))
                                            {
                                                LoggerPublisher.OnLogInfo("Please add public Vacancy!");
                                                ConsoleScreen.Clear();
                                                break;
                                            }

                                            var vacancyId = UserHelper.InputGuid();


                                            try
                                            {
                                                vacancy = VacancyHelper.GetVacancy(vacancyId, employer.Vacancies);
                                                break;
                                            }
                                            catch (Exception e)
                                            {
                                                LoggerPublisher.OnLogError(e.Message);
                                                ConsoleScreen.Clear();
                                            }
                                        }

                                        if (vacancy != null)
                                        {
                                            cv.SendRequest(employer.Guid, vacancy.Guid);
                                        }
                                    }
                                }
                                else if (choice == 2)
                                {
                                    if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to see other Cvs?",
                                                                        MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                                    {
                                        loop3 = false;
                                    }
                                    break;
                                }
                            }

                            if (loop3)
                            {
                                continue;
                            }
                        }
                        catch (Exception e)
                        {
                            LoggerPublisher.OnLogError(e.Message);
                        }
                    }
                    break;
                }

                case FilterMenuEnum.ByCategory:
                {
                    Console.Clear();

                    cvs = ExceptionHandle.Handle(CvFilter.FilterByCategory, UserHelper.InputCategory(), cvs);
                    break;
                }

                case FilterMenuEnum.ByEducation:
                {
                    Console.Clear();

                    cvs = ExceptionHandle.Handle(CvFilter.FilterByEducation, UserHelper.InputEducation(), cvs);
                    break;
                }

                case FilterMenuEnum.ByExperience:
                {
                    Console.Clear();

                    cvs = ExceptionHandle.Handle(CvFilter.FilterByExperience, UserHelper.InputExperience(), cvs);
                    break;
                }

                case FilterMenuEnum.ByRegion:
                {
                    Console.Clear();

                    cvs = ExceptionHandle.Handle(CvFilter.FilterByRegion, UserHelper.InputRegion(), cvs);
                    break;
                }

                case FilterMenuEnum.BySalary:
                {
                    Console.Clear();

                    var input  = UserHelper.InputSalary();
                    var salary = UserHelper.ParseSalary(input);
                    cvs = ExceptionHandle.Handle(CvFilter.FilterBySalary, salary, cvs);
                    break;
                }

                case FilterMenuEnum.Reset:
                {
                    cvs = mainCvs;
                    break;
                }

                case FilterMenuEnum.Back:
                {
                    seeCvsLoop = false;
                    break;
                }
                }
            }
        }
コード例 #12
0
ファイル: EmployerSide.cs プロジェクト: eabasquliyev/UpWork
        public static void Start(Entities.Employer employer, Database.Database db)
        {
            var employerSideMainLoop = true;

            while (employerSideMainLoop)
            {
                Console.Title = $"Employer: {employer.Name}";

                if (Database.Database.Changes)
                {
                    FileHelper.WriteToJson(db);
                    Database.Database.Changes = false;
                }
                Console.Clear();

                ConsoleScreen.PrintMenu(ConsoleScreen.EmployerSideMainMenu, ConsoleColor.DarkGreen);

                var employerSideChoice =
                    (EmployerSideMainMenu)ConsoleScreen.Input(ConsoleScreen.EmployerSideMainMenu.Count);

                Console.Clear();

                switch (employerSideChoice)
                {
                case EmployerSideMainMenu.YourAds:
                {
                    AdsSection.Start(employer);
                    break;
                }

                case EmployerSideMainMenu.SeeCvs:
                {
                    CvSection.Start(employer, db);
                    break;
                }

                case EmployerSideMainMenu.AdsNotifications:
                {
                    while (true)
                    {
                        Console.Clear();
                        if (!ExceptionHandle.Handle(employer.ShowAllAdsWithRequestCount))
                        {
                            break;
                        }

                        var vacancyId = UserHelper.InputGuid();

                        Vacancy vacancy = null;
                        try
                        {
                            vacancy = employer.GetVacancy(vacancyId);

                            if (vacancy.RequestsFromWorkers.Count != 0)
                            {
                                var cvs = db.GetAllCvFromRequests(vacancy.RequestsFromWorkers);

                                while (true)
                                {
                                    Console.Clear();
                                    if (!ExceptionHandle.Handle(EmployerHelper.ShowCvs, cvs))
                                    {
                                        break;
                                    }

                                    var cvId = UserHelper.InputGuid();


                                    var cv = cvs.SingleOrDefault(c => c.Guid == cvId);

                                    if (cv == null)
                                    {
                                        LoggerPublisher.OnLogError($"There is no cv associated this id -> {cvId}");
                                        ConsoleScreen.Clear();
                                        continue;
                                    }

                                    var worker = DatabaseHelper.GetUser(vacancy.RequestsFromWorkers
                                                                        .SingleOrDefault(r => r.Value == cv.Guid).Key, db.Users) as Worker;


                                    Console.Clear();

                                    Console.WriteLine(cv);

                                    ConsoleScreen.PrintMenu(ConsoleScreen.CvAdsChoices, ConsoleColor.DarkGreen);

                                    var choice =
                                        (CvAdsChoices)ConsoleScreen.Input(ConsoleScreen.CvAdsChoices.Count);


                                    if (choice == CvAdsChoices.Back)
                                    {
                                        break;
                                    }


                                    try
                                    {
                                        switch (choice)
                                        {
                                        case CvAdsChoices.Accept:
                                        {
                                            vacancy.RemoveRequest(worker.Guid);

                                            NotificationPublisher.OnSend(worker, new Notification()
                                                    {
                                                        Title = "Your apply result", Message = $"Congratilations. Your cv accepted.\n Vacancy info:\n{vacancy}"
                                                    });
                                            LoggerPublisher.OnLogInfo("Accepted.");
                                            break;
                                        }

                                        case CvAdsChoices.Decline:
                                        {
                                            vacancy.RemoveRequest(worker.Guid);
                                            NotificationPublisher.OnSend(worker, new Notification()
                                                    {
                                                        Title = "Your apply result", Message = $"We are sorry! Your cv declined.\n Vacancy info:\n{vacancy}"
                                                    });
                                            LoggerPublisher.OnLogInfo("Declined.");
                                            break;
                                        }
                                        }
                                    }
                                    catch (Exception e)
                                    {
                                        LoggerPublisher.OnLogError(e.Message);
                                        ConsoleScreen.Clear();
                                    }

                                    Database.Database.Changes = true;

                                    if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to see other Cvs?",
                                                                        MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                                    {
                                        break;
                                    }
                                }
                            }
                            else
                            {
                                LoggerPublisher.OnLogError("There is no request!");
                                ConsoleScreen.Clear();
                            }
                        }
                        catch (Exception e)
                        {
                            LoggerPublisher.OnLogError(e.Message);
                            ConsoleScreen.Clear();
                        }

                        if (vacancy == null && ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?",
                                                                               MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                        {
                            break;
                        }
                    }

                    break;
                }

                case EmployerSideMainMenu.AllNotifications:
                {
                    NotificationSide.AllNotificationsStart(employer);
                    break;
                }

                case EmployerSideMainMenu.UnreadNotifications:
                {
                    NotificationSide.OnlyUnReadNotificationsStart(employer);
                    break;
                }

                case EmployerSideMainMenu.Logout:
                {
                    employerSideMainLoop = false;
                    break;
                }
                }
            }
        }
コード例 #13
0
        private static void RegisterSide(Database.Database db)
        {
            while (true)
            {
                Console.Title = "Register";
                GetUserData(db, out string name, out string surname, out string mail, out string phone, out string username, out string password, out int age, out string city);

                User newUser = null;

                Console.Clear();

                Console.WriteLine("Who are you?");

                ConsoleScreen.PrintMenu(ConsoleScreen.UserType, ConsoleColor.Blue);

                var userType = (UserTypeEnum)(ConsoleScreen.Input(ConsoleScreen.UserType.Count));

                Console.Clear();

                if (userType == UserTypeEnum.Worker)
                {
                    newUser = new Worker()
                    {
                        Name     = name,
                        Surname  = surname,
                        Mail     = mail,
                        Phone    = phone,
                        Username = username,
                        Password = password,
                        City     = city,
                        Age      = age,
                    }
                }
                ;
                else
                {
                    newUser = new Entities.Employer()
                    {
                        Name     = name,
                        Surname  = surname,
                        Mail     = mail,
                        Phone    = phone,
                        Username = username,
                        Password = password,
                        City     = city,
                        Age      = age,
                    }
                };

                try
                {
                    UpWork.UserAccess.UserAccess.SendConfirmationCode(newUser.Mail);

                    while (true)
                    {
                        Console.Clear();
                        Console.WriteLine("Confirmation code: ");

                        if (UpWork.UserAccess.UserAccess.ConfirmationCode ==
                            UserHelper.GetNumeric(NumericTypes.INT).ToString())
                        {
                            break;
                        }

                        LoggerPublisher.OnLogError("Confirmation code is wrong!");
                    }

                    UpWork.UserAccess.UserAccess.Register(newUser, db.Users);
                    FileHelper.WriteToJson(db);
                    LoggerPublisher.OnLogInfo("Successfully created account. You can login now.");
                    ConsoleScreen.Clear();
                    break;
                }
                catch (Exception e)
                {
                    LoggerPublisher.OnLogError(e.Message);
                    ConsoleScreen.Clear();
                }
            }
        }
コード例 #14
0
        public static void Start(Entities.Employer employer)
        {
            var adsSectionLoop = true;

            while (adsSectionLoop)
            {
                Console.Clear();
                ConsoleScreen.PrintMenu(ConsoleScreen.AdsSectionMenu, ConsoleColor.DarkGreen);

                var adsSectionChoice = (AdsSectionEnum)ConsoleScreen.Input(ConsoleScreen.AdsSectionMenu.Count);

                Console.Clear();

                switch (adsSectionChoice)
                {
                case AdsSectionEnum.Show:
                {
                    ExceptionHandle.Handle(employer.ShowAllAds, false);
                    ConsoleScreen.Clear();
                    break;
                }

                case AdsSectionEnum.Add:
                {
                    var addCvLoop = true;

                    while (addCvLoop)
                    {
                        employer.Vacancies.Add(CreateNewVacancy());

                        LoggerPublisher.OnLogInfo("Vacancy added!");

                        if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add more Vacancy?",
                                                            MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                        {
                            addCvLoop = false;
                        }

                        Console.Clear();
                    }
                    Database.Database.Changes = true;
                    break;
                }

                case AdsSectionEnum.Update:
                {
                    while (true)
                    {
                        Console.Clear();
                        if (!ExceptionHandle.Handle(employer.ShowAllAds, false))
                        {
                            ConsoleScreen.Clear();
                            break;
                        }

                        var id = UserHelper.InputGuid();

                        try
                        {
                            var vacancy = employer.GetVacancy(id);

                            VacancyUpdateSideStart(vacancy);
                            if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to update another Vacancy?",
                                                                MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                            {
                                break;
                            }
                            continue;
                        }
                        catch (Exception e)
                        {
                            LoggerPublisher.OnLogError(e.Message);
                        }

                        if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?",
                                                            MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                        {
                            break;
                        }
                    }
                    break;
                }

                case AdsSectionEnum.Delete:
                {
                    while (true)
                    {
                        Console.Clear();
                        if (!ExceptionHandle.Handle(employer.ShowAllAds, false))
                        {
                            ConsoleScreen.Clear();
                            break;
                        }

                        var vacancyId = UserHelper.InputGuid();

                        if (ExceptionHandle.Handle(employer.DeleteVacancy, vacancyId))
                        {
                            LoggerPublisher.OnLogInfo("Cv deleted!");
                            Database.Database.Changes = true;

                            if (employer.Vacancies.Count == 0 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to delete another Vacancy?",
                                                                                                 MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                            {
                                break;
                            }
                            continue;
                        }

                        if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?",
                                                            MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                        {
                            break;
                        }
                    }
                    break;
                }

                case AdsSectionEnum.Back:
                {
                    adsSectionLoop = false;
                    break;
                }
                }
            }
        }