コード例 #1
0
 public JsonResult GetProgrammLanguages(string name = "")
 {
     if (name == null)
     {
         name = "";
     }
     using (CorporationContext db = new CorporationContext())
     {
         var languages = db.ProgrammLanguages.Where(l => l.Name.Contains(name)).ToList();
         return(Json(languages));
     }
 }
コード例 #2
0
        public JsonResult GetDepartments(string name)
        {
            if (name == null)
            {
                name = "";
            }

            using (CorporationContext db = new CorporationContext())
            {
                var departments = db.Departments.Where(l => l.DepartmentName.Contains(name)).ToList();
                return(Json(departments));
            }
        }
コード例 #3
0
        public JsonResult GetPopularFamilies()
        {
            using (CorporationContext db = new CorporationContext())
            {
                var families = db.Employeers.GroupBy(e => e.Family).Select(g => new
                {
                    Name  = g.Key,
                    Count = g.Select(r => r.EmployeeID).Distinct().Count()
                })
                               .OrderBy(n => n.Count)
                               .ToList();

                return(Json(families));
            }
        }
コード例 #4
0
 public IActionResult DeleteEmployee(int id)
 {
     try
     {
         using (CorporationContext db = new CorporationContext())
         {
             var employee = db.Employeers.FirstOrDefault(e => e.EmployeeID == id);
             if (employee != null)
             {
                 db.Employeers.Remove(employee);
                 db.SaveChanges();
                 return(Ok());
             }
             return(BadRequest());
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
コード例 #5
0
        public JsonResult GetEmployers()
        {
            using (CorporationContext db = new CorporationContext())
            {
                var employeers = db.Employeers.Where(e => e.EmployeeID > 0)
                                 .Join(db.Departments,
                                       e => e.DepartmentID,
                                       d => d.DepartmentID,
                                       (e, d) => new EmployeeVM
                {
                    Id                 = e.EmployeeID,
                    Name               = e.Name,
                    Family             = e.Family,
                    Sex                = e.Sex ? "Муж." : "Жен.",
                    BirthDate          = e.BirthDate.ToString("dd.MM.yyyy"),
                    Department         = d.DepartmentName,
                    DepartmentID       = e.DepartmentID,
                    ProgrammLanguageID = e.ProgrammLanguageID
                })
                                 .Join(db.ProgrammLanguages,
                                       e => e.ProgrammLanguageID,
                                       p => p.ProgrammLanguageID,
                                       (e, p) => new EmployeeVM
                {
                    Id                 = e.Id,
                    Name               = e.Name,
                    Family             = e.Family,
                    Sex                = e.Sex,
                    BirthDate          = e.BirthDate,
                    Department         = e.Department,
                    ProgrammLanguage   = p.Name,
                    DepartmentID       = e.DepartmentID,
                    ProgrammLanguageID = e.ProgrammLanguageID
                })
                                 .ToList();


                return(Json(employeers));
            }
        }
コード例 #6
0
        public JsonResult GetEmployee(int id)
        {
            using (CorporationContext db = new CorporationContext())
            {
                var employee = db.Employeers.Where(e => e.EmployeeID == id)
                               .Join(db.Departments,
                                     e => e.DepartmentID,
                                     d => d.DepartmentID,
                                     (e, d) => new EmployeeVM
                {
                    Id                 = e.EmployeeID,
                    Name               = e.Name,
                    Family             = e.Family,
                    Sex                = e.Sex.ToString(),
                    BirthDate          = e.BirthDate.ToString("dd.MM.yyyy"),
                    Department         = d.DepartmentName,
                    DepartmentID       = e.DepartmentID,
                    ProgrammLanguageID = e.ProgrammLanguageID
                })
                               .Join(db.ProgrammLanguages,
                                     e => e.ProgrammLanguageID,
                                     p => p.ProgrammLanguageID,
                                     (e, p) => new EmployeeVM
                {
                    Id                 = e.Id,
                    Name               = e.Name,
                    Family             = e.Family,
                    Sex                = e.Sex,
                    BirthDate          = e.BirthDate,
                    Department         = e.Department,
                    ProgrammLanguage   = p.Name,
                    DepartmentID       = e.DepartmentID,
                    ProgrammLanguageID = e.ProgrammLanguageID
                })
                               .FirstOrDefault();

                return(Json(employee));
            }
        }
コード例 #7
0
        public IActionResult CreateOrUpdate([FromBody] JObject data)
        {
            try
            {
                var jsonString = data.ToString();

                var format            = "dd.MM.yyyy"; // your datetime format
                var dateTimeConverter = new IsoDateTimeConverter {
                    DateTimeFormat = format
                };

                var employee = JsonConvert.DeserializeObject <Employee>(jsonString, dateTimeConverter);

                using (CorporationContext db = new CorporationContext())
                {
                    var dbEmployee = db.Employeers.FirstOrDefault(e => e.EmployeeID == employee.EmployeeID);

                    if (dbEmployee != null)
                    {
                        dbEmployee.Name               = employee.Name;
                        dbEmployee.Family             = employee.Family;
                        dbEmployee.BirthDate          = employee.BirthDate;
                        dbEmployee.Sex                = employee.Sex;
                        dbEmployee.ProgrammLanguageID = employee.ProgrammLanguageID;
                        dbEmployee.DepartmentID       = employee.DepartmentID;

                        db.SaveChanges();
                        return(NoContent());
                    }

                    db.Employeers.Add(employee);
                    db.SaveChanges();
                    return(Created("/", employee));
                }
            } catch (Exception e)
            {
                throw e;
            }
        }
コード例 #8
0
 public CorporationController(CorporationContext context)
 {
     Context = context;
 }