public async Task <ActionResult> SaveEmployee(ContactViewModel model)
        {
            if (User == null)
            {
                return(null);
            }

            EmployeeManagment manage = new EmployeeManagment(_context);

            if (await manage.IsExistWithTheSameEmail(model.ContactId, model.EmailAddress))
            {
                return(Json(new { status = "error", message = "A contact already exists for this email address. The account hasn't created." }, JsonRequestBehavior.AllowGet));
            }
            if (!model.IsUpdate)
            {
                model.ContactId = 0;
                var dbModel = model.GetModel();
                model.ContactId = await manage.SaveContact(dbModel);
            }
            else
            {
                var dbModel = model.GetModel();
                model.ContactId = await manage.SaveContact(dbModel);
            }

            return(Json(new { status = "ok", id = model.ContactId }, JsonRequestBehavior.AllowGet));
        }
        public async Task <ActionResult> GetEmployees(DTParameters param)
        {
            if (User == null)
            {
                return(null);
            }
            EmployeeManagment manage = new EmployeeManagment(_context);
            var result = await manage.GetList(param);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public async Task <ActionResult> Get(Int32 id)
        {
            if (User == null)
            {
                return(null);
            }

            EmployeeManagment manage = new EmployeeManagment(_context);
            var contact = await manage.GetContact(id);

            var result = new ContactViewModel(contact);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public async Task <ActionResult> DeleteEmployee(Int32 id)
        {
            if (User == null)
            {
                return(null);
            }

            EmployeeManagment manage = new EmployeeManagment(_context);

            if (!await manage.DeleteContact(id))
            {
                return(Json(new { status = "error", message = "You can't delete this contact. Please contact to support team." }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { status = "ok" }, JsonRequestBehavior.AllowGet));
        }
        // GET: Consumers
        public async Task <ActionResult> Index()
        {
            EmployeeManagment manager = new EmployeeManagment(_context);
            var lists  = new Dictionary <String, List <ItemListViewModel> >();
            var states = await manager.GetStates();

            var types = await manager.GetTypes();

            var depts = await manager.GetDepts();

            var categories = await manager.GetCategories();



            lists.Add("States", ItemListViewModel.GetStateList(states));
            lists.Add("Types", ItemListViewModel.GetTypesList(types));
            lists.Add("Depts", ItemListViewModel.GetDeptsList(depts));
            lists.Add("Categories", ItemListViewModel.GetCategories(categories));
            ViewData["Lists"] = lists;
            return(View());
        }
        public ActionResult GetPdfEmployeeLabel(Int32 contactId)
        {
            if (User == null)
            {
                return(null);
            }
            EmployeeManagment manage = new EmployeeManagment(_context);

            foreach (String key in Session.Keys.Cast <String>().Where(x => x.StartsWith("DocumentLabelPDF_")).ToArray())
            {
                HttpContext.Session.Remove(key);
            }
            String name = "";

            Byte[] bytes = manage.GetPDF(contactId, this, out name);
            Guid   guid  = Guid.NewGuid();

            Session["DocumentLabelPDF_" + guid]  = bytes;
            Session["DocumentLabelName_" + guid] = name;
            String rootUrl = new Uri(Request.Url, Url.Content("~")).ToString();
            String url     = rootUrl + "api/employeesapi/getpdfhandler/" + guid;

            return(Json(new { status = "ok", url = url }));
        }
        private void tsmiMngEmps_Click(object sender, EventArgs e)
        {
            EmployeeManagment employeeManagment = new EmployeeManagment();

            employeeManagment.Show();
        }