public ActionResult DeleteConfirmed(int id)
        {
            Employee_table employee_table = db.Employee_table.Find(id);

            db.Employee_table.Remove(employee_table);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Emp_ID,Emp_Name,Emp_Address")] Employee_table employee_table)
 {
     if (ModelState.IsValid)
     {
         db.Entry(employee_table).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(employee_table));
 }
        public ActionResult Create([Bind(Include = "Emp_ID,Emp_Name,Emp_Address")] Employee_table employee_table)
        {
            if (ModelState.IsValid)
            {
                db.Employee_table.Add(employee_table);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(employee_table));
        }
        // GET: Employee_table/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Employee_table employee_table = db.Employee_table.Find(id);

            if (employee_table == null)
            {
                return(HttpNotFound());
            }
            return(View(employee_table));
        }
        public csvUploadResponse ParseCSV(csvUploadRequest request)
        {
            csvUploadResponse response = new csvUploadResponse();

            List <dto> list = new List <dto>();
            dto        dt   = new dto();

            List <dynamic> data = new List <dynamic>();

            data.Add(parse(request));

            using (var context = new Company_dbEntities())
            {
                var comp = (from a in context.Company_table where a.CompanyName == request.CompanyName select a).FirstOrDefault <Company_table>();

                if (comp != null)
                {
                    if (request.Employee == true)
                    {
                        foreach (var entry in data[0])
                        {
                            dynamic fields = JsonConvert.SerializeObject(entry.Data);

                            dynamic item = JsonConvert.DeserializeObject(fields);

                            dt.UserName = item.UserName;
                            dt.Email    = item.Email;


                            var emp = (from a in context.Employee_table where a.UserName == dt.UserName && a.Email == dt.Email select a).FirstOrDefault();

                            if (emp == null)
                            {
                                emp = new Employee_table();

                                emp.CompanyID    = comp.CompanyID;
                                emp.EmployeeName = item.EmployeeName;
                                emp.Email        = item.Email;
                                emp.ManagerID    = item.ManagerID;
                                emp.Designation  = item.Designation;
                                emp.UserName     = item.UserName;
                                emp.ModifiedOn   = DateTime.Now;
                                emp.IsActive     = true;


                                var company = (from a in context.Company_table where a.CompanyID == comp.CompanyID select a).FirstOrDefault();

                                company.EmployeeCount++;

                                context.Employee_table.Add(emp);

                                context.SaveChanges();

                                response.csvUploaded = true;
                            }
                            else
                            {
                                dto d = new dto();

                                d.UserName     = item.UserName;
                                d.Email        = item.Email;
                                d.EmployeeName = item.EmployeeName;
                                d.CompanyName  = item.CompanyName;
                                d.Designation  = item.Designation;
                                d.ManagerID    = item.ManagerID;

                                list.Add(d);
                            }
                        }
                        response.Duplicate   = JsonConvert.SerializeObject(list);
                        response.csvUploaded = false;
                    }

                    else
                    {
                        foreach (var entry in data[0])
                        {
                            dynamic fields = JsonConvert.SerializeObject(entry.Data);

                            dynamic item = JsonConvert.DeserializeObject(fields);

                            dt.Serial = item.Serial;

                            var res = (from a in context.Resources_table where a.Serial == dt.Serial select a).FirstOrDefault <Resources_table>();

                            if (res == null)
                            {
                                res = new Resources_table();

                                res.CompanyID    = comp.CompanyID;
                                res.NameOfDevice = item.NameOfDevice;
                                //res.EmployeeID = item.UserName;
                                res.Type       = item.Type;
                                res.Serial     = item.Serial;
                                res.IssuedFrom = item.IssuedFrom;
                                res.ModifiedOn = DateTime.Now;
                                res.Deleted    = false;
                                //res.IsActive = true;
                                var company = (from a in context.Company_table where a.CompanyID == comp.CompanyID select a).FirstOrDefault();

                                company.ResourceCount++;

                                context.Resources_table.Add(res);

                                context.SaveChanges();
                                response.csvUploaded = true;
                            }

                            else
                            {
                                dto d = new dto();

                                d.UserName     = item.UserName;
                                d.NameOfDevice = item.NameOfDevice;
                                d.Type         = item.Type;
                                d.Serial       = item.Serial;
                                d.IssuedFrom   = item.IssuedFrom;
                                d.CompanyName  = request.CompanyName;

                                list.Add(d);
                            }
                        }
                        response.Duplicate   = JsonConvert.SerializeObject(list);
                        response.csvUploaded = false;
                    }
                }
                else
                {
                    throw new Exception("Company Name does not Exists. Try again.");
                }
            }



            return(response);
        }
        public ManageEmployeeResponse AddEmployee(ManageEmployeeRequest request)
        {
            ManageEmployeeResponse response = new ManageEmployeeResponse();

            using (var context = new Company_dbEntities())
            {
                int?compId = AdapterHelper.GetCompanyId(request.CompanyName);
                if (!compId.HasValue)
                {
                    throw new Exception("No company found. Try again!");
                }

                //int? empId = AdapterHelper.GetEmployeeId(request.EmployeeName, request.Email);
                //if (empId.HasValue)
                //    throw new Exception("Employee already exists.");

                var employee = (from a in context.Employee_table where a.Email == request.Email select a).FirstOrDefault();

                if (employee == null)
                {
                    employee = new Employee_table();

                    employee.EmployeeName = request.EmployeeName.ToLower();
                    employee.CompanyID    = compId.Value;

                    employee.Email = request.Email.ToLower();

                    employee.Designation = request.Designation;
                    employee.ManagerID   = request.ManagerID;
                    //employee.Contact = request.Contact;
                    employee.ModifiedOn   = DateTime.Now;
                    employee.IsActive     = true;
                    employee.EmployeeInfo = request.EmployeeInfo;

                    //employeeInfo info = new employeeInfo();

                    //info.Address = request.Address;
                    //info.Contact = request.Contact;
                    //info.Department = request.Department;
                    //info.DOB = request.DOB;

                    //employee.EmployeeInfo = JsonConvert.SerializeObject(info);

                    context.Employee_table.Add(employee);


                    //Updating the count of employees on successfulkl addition of employee.
                    var comp = (from a in context.Company_table
                                where a.CompanyID == compId.Value
                                select a).FirstOrDefault();

                    if (comp != null)
                    {
                        comp.EmployeeCount++;
                    }

                    context.SaveChanges();

                    //var prefix = "BL_";

                    var emp = (from a in context.Employee_table where a.EmployeeName == request.EmployeeName.ToLower() && a.Email == request.Email select a).FirstOrDefault();

                    var ID = comp.Prefix + emp.EmployeeID;

                    emp.UserName = ID;

                    context.SaveChanges();

                    //SendSms sms = new SendSms();

                    //string body = "Your Employee ID is" + ID;

                    //string status = sms.send("9899699418", "3561", "Your Employee ID is" + ID, request.Contact);
                    //if (status == "1")
                    //{
                    //    response.EmployeeID = "Message Send";
                    //}
                    //else if (status == "2")
                    //{
                    //    response.EmployeeID = "No Internet Connection";
                    //   // MessageBox.Show("No Internet Connection");
                    //}
                    //else
                    //{
                    //    response.EmployeeID = "Invalid Login Or No Internet Connection";
                    //    //MessageBox.Show("Invalid Login Or No Internet Connection");
                    //}

                    response.EmployeeID = emp.UserName;
                }
                else
                {
                    response.EmployeeID = null;
                }
            }
            return(response);
        }