public IHttpActionResult Post(IssueModel issue)
 {
     using (var context = new GARSupport2020Entities())
     {
         context.Issue.Add(new Issue()
         {
             id             = issue.Id,
             id_client      = issue.Id_Client,
             description    = issue.Description,
             time_stamp     = issue.Time_Stamp,
             contact_phone  = issue.Contact_Phone,
             contact_email  = issue.Contact_Email,
             classification = issue.Classification,
             status         = issue.Status,
             service_type   = issue.Service_Type,
             name           = issue.Name,
             second_name    = issue.Second_Name,
             first_name     = issue.First_Name,
             address        = issue.Address,
             phone          = issue.Phone,
             second_contact = issue.Second_contact,
             email          = issue.Email
         });
         context.SaveChanges();
     }
     return(Ok());
 }
 public IHttpActionResult Post(UsersIssueModel usersIssue)
 {
     using (var context = new GARSupport2020Entities())
     {
         context.Users_Issue.Add(new Users_Issue()
         {
             id       = usersIssue.Id,
             id_users = usersIssue.Id_Users,
             id_issue = usersIssue.Id_Issue
         });
         context.SaveChanges();
     }
     return(Ok());
 }
        public IHttpActionResult Post(CommentModel comment)
        {
            using (var context = new GARSupport2020Entities())
            {
                context.Comment.Add(new Comment()
                {
                    id = comment.Id,
                    id_issue = comment.Id_Issue,
                    name = comment.Name,
                    description = comment.Description,
                    time_stamp = comment.Time_Stamp

                });
                context.SaveChanges();
            }
            return Ok(comment);
        }
        public IHttpActionResult Post(IList <UsersRoleModel> usersRole)
        {
            int count = 0;
            IList <UsersRoleModel> newUsersRoles = null;
            IList <UsersRoleModel> support       = null;

            using (var context = new GARSupport2020Entities())
            {
                foreach (var role in usersRole)
                {
                    if (count == 0)
                    {
                        //verifica si ya existe
                        newUsersRoles = context.User_Role
                                        .Where(usersRoleItem => usersRoleItem.id_users == role.Id_Users)
                                        .Select(usersRoleItem => new UsersRoleModel()
                        {
                            Id_Role  = usersRoleItem.id_role,
                            Id_Users = usersRoleItem.id_users
                        }
                                                ).ToList <UsersRoleModel>();
                        //Si existe lo borra


                        if (newUsersRoles != null)
                        {
                            foreach (var delete in newUsersRoles)
                            {
                                var deleteRole = context.User_Role.Where(userItem => userItem.id_users == delete.Id_Users).FirstOrDefault();
                                context.Entry(deleteRole).State = System.Data.Entity.EntityState.Deleted;
                                context.SaveChanges();
                            }
                        }
                    }

                    count++;

                    context.User_Role.Add(new User_Role()
                    {
                        id       = role.Id,
                        id_users = role.Id_Users,
                        id_role  = role.Id_Role
                    });
                    context.SaveChanges();
                }

                foreach (var id_user in usersRole)
                {
                    support = context.User_Role
                              .Where(usersRoleItem => usersRoleItem.id_users == id_user.Id_Users)
                              .Select(usersRoleItem => new UsersRoleModel()
                    {
                        Id_Users = usersRoleItem.id_users,
                        Id_Role  = usersRoleItem.id_role
                    }).ToList <UsersRoleModel>();
                }
                //Si el valor es nulo
                if (support == null)
                {
                    foreach (var delete in usersRole)
                    {
                        ///No es sopporte?

                        // Verifica si en la tabla userIssue ya tiene un issue asignado
                        var userDeleted = context.Users_Issue
                                          .Where(usersIssueItem => usersIssueItem.id_users == delete.Id_Users)
                                          .Select(usersIssueItem => new UsersIssueModel()
                        {
                            Id_Users = usersIssueItem.id_users,
                        }).FirstOrDefault();

                        // Si existe entra
                        if (userDeleted != null)
                        {
                            var deleteUser = context.Users_Issue.Where(userItem => userItem.id_users == delete.Id_Users).FirstOrDefault();
                            context.Entry(deleteUser).State = System.Data.Entity.EntityState.Deleted;
                            context.SaveChanges();
                        }
                    }
                }
                else
                {
                    foreach (var role in support)
                    {
                        ///No es sopporte?
                        if (role.Id_Role != 2)
                        {
                            // Verifica si en la tabla userIssue ya tiene un issue asignado
                            var issueUser = context.Users_Issue
                                            .Where(usersIssueItem => usersIssueItem.id_users == role.Id_Users)
                                            .Select(usersIssueItem => new UsersIssueModel()
                            {
                                Id_Users = usersIssueItem.id_users,
                            }).FirstOrDefault();

                            // Si existe entra
                            if (issueUser != null)
                            {
                                var deleteUser = context.Users_Issue.Where(userItem => userItem.id_users == role.Id_Users).FirstOrDefault();
                                context.Entry(deleteUser).State = System.Data.Entity.EntityState.Deleted;
                                context.SaveChanges();
                            }
                        }
                    }
                }
            }

            return(Ok());
        }